mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-11 06:36:24 +02:00
Merge pull request #1 from ThomasWeis/main
Added modules to choose random numbers and letters
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
|
BlockObserver, LetterObserver, DiceObserver
|
||||||
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
|
||||||
|
|
||||||
@@ -59,6 +59,8 @@ class FaustBot(object):
|
|||||||
self.add_module(PrideObserver.PrideObserver())
|
self.add_module(PrideObserver.PrideObserver())
|
||||||
self.add_module(SnacksObserver.SnacksObserver())
|
self.add_module(SnacksObserver.SnacksObserver())
|
||||||
self.add_module(BlockObserver.BlockObserver())
|
self.add_module(BlockObserver.BlockObserver())
|
||||||
|
self.add_module(LetterObserver.LetterObserver())
|
||||||
|
self.add_module(DiceObserver.DiceObserver())
|
||||||
def run(self):
|
def run(self):
|
||||||
self._setup()
|
self._setup()
|
||||||
running = True
|
running = True
|
||||||
|
|||||||
42
FaustBot/Modules/DiceObserver.py
Normal file
42
FaustBot/Modules/DiceObserver.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
from FaustBot.Communication import Connection
|
||||||
|
from FaustBot.Modules.PrivMsgObserverPrototype import PrivMsgObserverPrototype
|
||||||
|
|
||||||
|
import random
|
||||||
|
|
||||||
|
class DiceObserver(PrivMsgObserverPrototype):
|
||||||
|
@staticmethod
|
||||||
|
def cmd():
|
||||||
|
return [".zahl"]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def help():
|
||||||
|
return ".zahl n - Wirft einen n-seitigen Würfel"
|
||||||
|
|
||||||
|
def update_on_priv_msg(self, data: dict, connection: Connection):
|
||||||
|
if data['message'].find('.zahl') == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
#roll a die with given number of sides, standard is 6
|
||||||
|
dice_sides = 6
|
||||||
|
|
||||||
|
if len(data['message'].split(' ')) > 1:
|
||||||
|
found_at_index = data['message'].split(' ').index('.zahl')
|
||||||
|
if data['message'].split(' ')[-1] == '.zahl':
|
||||||
|
dice_sides = 6
|
||||||
|
else:
|
||||||
|
dice_sides = (data['message'].split(' ')[found_at_index + 1])
|
||||||
|
if dice_sides.isdigit():
|
||||||
|
dice_sides = int(dice_sides)
|
||||||
|
if dice_sides == 0:
|
||||||
|
connection.send_back(data['nick'] + ' wirft einen 0-seitigen Würfel und bekommt Unendlich.', data)
|
||||||
|
return
|
||||||
|
elif dice_sides < 0:
|
||||||
|
connection.send_back(data['nick'] + ' wirft einen ' + str(dice_sides) + '-seitigen Würfel und nichts passiert.', data)
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
dice_sides = 6
|
||||||
|
|
||||||
|
result = random.randint(1, dice_sides)
|
||||||
|
|
||||||
|
connection.send_back(data['nick'] + ' wirft einen ' + str(dice_sides) + '-seitigen Würfel und bekommt ' + str(result), data)
|
||||||
|
|
||||||
26
FaustBot/Modules/LetterObserver.py
Normal file
26
FaustBot/Modules/LetterObserver.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
from FaustBot.Communication import Connection
|
||||||
|
from FaustBot.Modules.PrivMsgObserverPrototype import PrivMsgObserverPrototype
|
||||||
|
|
||||||
|
import random
|
||||||
|
|
||||||
|
class LetterObserver(PrivMsgObserverPrototype):
|
||||||
|
@staticmethod
|
||||||
|
def cmd():
|
||||||
|
return [".abc"]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def help():
|
||||||
|
return ".abc - wählt einen zufälligen Buchstaben aus"
|
||||||
|
|
||||||
|
def update_on_priv_msg(self, data: dict, connection: Connection):
|
||||||
|
if data['message'].find('.abc') == -1:
|
||||||
|
return
|
||||||
|
|
||||||
|
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
|
||||||
|
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
|
||||||
|
'u', 'v', 'w', 'x', 'y', 'z', 'ä', 'ö', 'ü']
|
||||||
|
|
||||||
|
#choose a random letter from alphabet list
|
||||||
|
letter = random.choice(alphabet).upper()
|
||||||
|
|
||||||
|
connection.send_back('Gewählter Buchstabe: ' + letter, data)
|
||||||
Reference in New Issue
Block a user