mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-10 22:26:23 +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, \
|
||||
IntroductionObserver, HangmanObserver, DuckObserver, AllSeenObserver, JokeObserver,TellObserver, WordRunObserver,\
|
||||
GiveIceObserver, GiveDrinkToObserver, Greeter, MathRunObserver, PartyObserver, PrideObserver, SnacksObserver, \
|
||||
BlockObserver
|
||||
BlockObserver, LetterObserver, DiceObserver
|
||||
from FaustBot.Modules.CustomUserModules import GlossaryModule, ICDObserver, ModmailObserver
|
||||
from FaustBot.Modules.ModuleType import ModuleType
|
||||
|
||||
@@ -59,6 +59,8 @@ class FaustBot(object):
|
||||
self.add_module(PrideObserver.PrideObserver())
|
||||
self.add_module(SnacksObserver.SnacksObserver())
|
||||
self.add_module(BlockObserver.BlockObserver())
|
||||
self.add_module(LetterObserver.LetterObserver())
|
||||
self.add_module(DiceObserver.DiceObserver())
|
||||
def run(self):
|
||||
self._setup()
|
||||
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