mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-11 06:36:24 +02:00
made user managment case insensitive
Added CharactersCountObserver.py which outputs the written characters on command
This commit is contained in:
@@ -6,7 +6,7 @@ from FaustBot.Modules import ActivityObserver, IdentNickServObserver, GiveCookie
|
||||
UserList, WikiObserver, GiveDrinkObserver, GiveFoodObserver, ComicObserver, HelpObserver, \
|
||||
IntroductionObserver, HangmanObserver, DuckObserver, AllSeenObserver, JokeObserver,TellObserver, WordRunObserver,\
|
||||
GiveIceObserver, GiveDrinkToObserver, Greeter, MathRunObserver, PartyObserver, PrideObserver, SnacksObserver, \
|
||||
BlockObserver, LetterObserver, DiceObserver, First_Greeter
|
||||
BlockObserver, LetterObserver, DiceObserver, First_Greeter, CharactersCountObserver
|
||||
from FaustBot.Modules.CustomUserModules import GlossaryModule, ICDObserver, ModmailObserver
|
||||
from FaustBot.Modules.ModuleType import ModuleType
|
||||
|
||||
@@ -62,6 +62,7 @@ class FaustBot(object):
|
||||
self.add_module(BlockObserver.BlockObserver())
|
||||
self.add_module(LetterObserver.LetterObserver())
|
||||
self.add_module(DiceObserver.DiceObserver())
|
||||
self.add_module(CharactersCountObserver.CharactersCountObserver())
|
||||
def run(self):
|
||||
self._setup()
|
||||
running = True
|
||||
|
||||
@@ -90,15 +90,15 @@ class UserProvider(object):
|
||||
def _get_id(self, name):
|
||||
cursor = self.database_connection.cursor()
|
||||
try:
|
||||
for id in cursor.execute("SELECT id FROM user WHERE name = ?", (name,)):
|
||||
for id in cursor.execute("SELECT id FROM user WHERE name = ?", (name.lower(),)):
|
||||
return id[0]
|
||||
except:
|
||||
return None
|
||||
|
||||
def _create_user(self, name):
|
||||
cursor = self.database_connection.cursor()
|
||||
cursor.execute("INSERT INTO user(name) VALUES (?)", (name,))
|
||||
id = self._get_id(name)
|
||||
cursor.execute("INSERT INTO user(name) VALUES (?)", (name.lower(),))
|
||||
id = self._get_id(name.lower())
|
||||
cursor.execute("INSERT INTO user_stats(id, characters) VALUES (?, 0)", (id,))
|
||||
cursor.execute("INSERT INTO last_seen (id, last_seen) VALUES (?, 0)", (id,))
|
||||
self.database_connection.commit()
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import datetime
|
||||
|
||||
from FaustBot.Communication.Connection import Connection
|
||||
from FaustBot.Model.UserProvider import UserProvider
|
||||
from FaustBot.Modules.PrivMsgObserverPrototype import PrivMsgObserverPrototype
|
||||
|
||||
|
||||
class CharactersCountObserver(PrivMsgObserverPrototype):
|
||||
@staticmethod
|
||||
def cmd():
|
||||
return [".characters"]
|
||||
|
||||
@staticmethod
|
||||
def help():
|
||||
return ".characters - um abzufragen wieviel du bisher geschrieben hast."
|
||||
|
||||
def update_on_priv_msg(self, data, connection: Connection):
|
||||
if data['message'].find('.characters') == -1:
|
||||
return
|
||||
user_provider = UserProvider()
|
||||
output = data['nick']+": du hast "+str(user_provider.get_characters(data['nick']))+ " Zeichen geschrieben."
|
||||
connection.send_back(output, data)
|
||||
@@ -19,7 +19,7 @@ class SeenObserver(PrivMsgObserverPrototype):
|
||||
return
|
||||
if not self._is_idented_mod(data, connection):
|
||||
return
|
||||
who = data['messageCaseSensitive'].split(' ')[1]
|
||||
who = data['message'].split(' ')[1]
|
||||
user_provider = UserProvider()
|
||||
activity = user_provider.get_activity(who)
|
||||
output = data['nick']+": Ich habe "+who+" zuletzt am "+str(datetime.datetime.fromtimestamp(activity).strftime("%d.%m.%Y um %H:%M:%S"))+ ' Uhr gesehen'
|
||||
|
||||
Reference in New Issue
Block a user