From a9c7f332415b0346010272918a2462efbd24b2a7 Mon Sep 17 00:00:00 2001 From: BaerbelBox Date: Mon, 29 Aug 2022 09:00:21 +0200 Subject: [PATCH] Added a possibility to greet new users individualy --- FaustBot/FaustBot.py | 3 ++- FaustBot/Model/Config.py | 8 +++++++- FaustBot/Modules/First_Greeter.py | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 FaustBot/Modules/First_Greeter.py diff --git a/FaustBot/FaustBot.py b/FaustBot/FaustBot.py index 65e1be8..0af3b9d 100644 --- a/FaustBot/FaustBot.py +++ b/FaustBot/FaustBot.py @@ -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 + BlockObserver, LetterObserver, DiceObserver, First_Greeter from FaustBot.Modules.CustomUserModules import GlossaryModule, ICDObserver, ModmailObserver from FaustBot.Modules.ModuleType import ModuleType @@ -54,6 +54,7 @@ class FaustBot(object): self.add_module(GiveIceObserver.GiveIceObserver()) self.add_module(GiveDrinkToObserver.GiveDrinkToObserver()) self.add_module(Greeter.Greeter(self.config.greeting)) + self.add_module(First_Greeter.First_Greeter(self.config.first_greeting)) self.add_module(MathRunObserver.MathRunObserver()) self.add_module(PartyObserver.PartyObserver()) self.add_module(PrideObserver.PrideObserver()) diff --git a/FaustBot/Model/Config.py b/FaustBot/Model/Config.py index 481abf1..aaebafa 100644 --- a/FaustBot/Model/Config.py +++ b/FaustBot/Model/Config.py @@ -46,6 +46,8 @@ class Config(object): self._config_dict['blacklist'].append(module.strip()) if 'greeting' not in self._config_dict: self._config_dict['greeting'] = "Hallo" + if 'first_greeting' not in self._config_dict: + self._config_dict['first_greeting'] = "Herzlich Willkommen bei uns, " @property def lang(self): return self._config_dict["lang"] @@ -80,4 +82,8 @@ class Config(object): @property def greeting(self): - return self._config_dict['greeting'] \ No newline at end of file + return self._config_dict['greeting'] + + @property + def first_greeting(self): + return self._config_dict['first_greeting'] \ No newline at end of file diff --git a/FaustBot/Modules/First_Greeter.py b/FaustBot/Modules/First_Greeter.py new file mode 100644 index 0000000..4b0e738 --- /dev/null +++ b/FaustBot/Modules/First_Greeter.py @@ -0,0 +1,28 @@ +from FaustBot.Communication.Connection import Connection +from FaustBot.Modules.JoinObserverPrototype import JoinObserverPrototype +import time +from collections import defaultdict +from FaustBot.Model.UserProvider import UserProvider + +class First_Greeter(JoinObserverPrototype): + """ + A Class only reacting to pings + """ + + @staticmethod + def cmd(): + return None + + @staticmethod + def help(): + return None + + def __init__(self, greeting): + super().__init__() + self.first_greeting = greeting + + def update_on_join(self, data, connection: Connection): + if data['channel'] == connection.details.get_channel(): + UProvider= UserProvider() + if(UProvider.get_characters(data['nick'])) < 100: + connection.send_back(self.first_greeting + " " + data['nick'], data) \ No newline at end of file