mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-11 14:41:58 +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, \
|
UserList, WikiObserver, GiveDrinkObserver, GiveFoodObserver, ComicObserver, HelpObserver, \
|
||||||
IntroductionObserver, HangmanObserver, DuckObserver, AllSeenObserver, JokeObserver,TellObserver, WordRunObserver,\
|
IntroductionObserver, HangmanObserver, DuckObserver, AllSeenObserver, JokeObserver,TellObserver, WordRunObserver,\
|
||||||
GiveIceObserver, GiveDrinkToObserver, Greeter, MathRunObserver, PartyObserver, PrideObserver, SnacksObserver, \
|
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.CustomUserModules import GlossaryModule, ICDObserver, ModmailObserver
|
||||||
from FaustBot.Modules.ModuleType import ModuleType
|
from FaustBot.Modules.ModuleType import ModuleType
|
||||||
|
|
||||||
@@ -62,6 +62,7 @@ class FaustBot(object):
|
|||||||
self.add_module(BlockObserver.BlockObserver())
|
self.add_module(BlockObserver.BlockObserver())
|
||||||
self.add_module(LetterObserver.LetterObserver())
|
self.add_module(LetterObserver.LetterObserver())
|
||||||
self.add_module(DiceObserver.DiceObserver())
|
self.add_module(DiceObserver.DiceObserver())
|
||||||
|
self.add_module(CharactersCountObserver.CharactersCountObserver())
|
||||||
def run(self):
|
def run(self):
|
||||||
self._setup()
|
self._setup()
|
||||||
running = True
|
running = True
|
||||||
|
|||||||
@@ -90,15 +90,15 @@ class UserProvider(object):
|
|||||||
def _get_id(self, name):
|
def _get_id(self, name):
|
||||||
cursor = self.database_connection.cursor()
|
cursor = self.database_connection.cursor()
|
||||||
try:
|
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]
|
return id[0]
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _create_user(self, name):
|
def _create_user(self, name):
|
||||||
cursor = self.database_connection.cursor()
|
cursor = self.database_connection.cursor()
|
||||||
cursor.execute("INSERT INTO user(name) VALUES (?)", (name,))
|
cursor.execute("INSERT INTO user(name) VALUES (?)", (name.lower(),))
|
||||||
id = self._get_id(name)
|
id = self._get_id(name.lower())
|
||||||
cursor.execute("INSERT INTO user_stats(id, characters) VALUES (?, 0)", (id,))
|
cursor.execute("INSERT INTO user_stats(id, characters) VALUES (?, 0)", (id,))
|
||||||
cursor.execute("INSERT INTO last_seen (id, last_seen) VALUES (?, 0)", (id,))
|
cursor.execute("INSERT INTO last_seen (id, last_seen) VALUES (?, 0)", (id,))
|
||||||
self.database_connection.commit()
|
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
|
return
|
||||||
if not self._is_idented_mod(data, connection):
|
if not self._is_idented_mod(data, connection):
|
||||||
return
|
return
|
||||||
who = data['messageCaseSensitive'].split(' ')[1]
|
who = data['message'].split(' ')[1]
|
||||||
user_provider = UserProvider()
|
user_provider = UserProvider()
|
||||||
activity = user_provider.get_activity(who)
|
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'
|
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