Skip to content

Instantly share code, notes, and snippets.

@kheiken
Created May 22, 2020 21:26
Show Gist options
  • Save kheiken/fce87dc0aa49a60038847aec6d9c1ee6 to your computer and use it in GitHub Desktop.
Save kheiken/fce87dc0aa49a60038847aec6d9c1ee6 to your computer and use it in GitHub Desktop.
# In meiner main.py:
from twitchbot.songrequests import CreateSongRequest, DeleteSongRequest
createsongrequest = CreateSongRequest(bot, 'sr', alias=['request', 'songrequest', 'll', 'learn'], redis=r, apiclient=apiclient, moderators=MODERATORS)
# in twitchbot/songrequests.py:
import logging
from asynctwitch.dataclasses import Command
log = logging.getLogger()
class CreateSongRequest(Command):
redis = None
apiclient = None
def __init__(self, bot, comm, redis, apiclient, desc='', alias=[], admin=False, unprefixed=False, listed=True, dynamic=False, moderators=[]):
super().__init__(bot, comm, desc=desc, alias=alias, admin=admin, unprefixed=unprefixed, listed=listed, dynamic=dynamic)
from twitch_bot import MODERATORS
self.redis = redis
self.apiclientclient = apiclient
self.moderators = moderators
async def run(self, message):
super().run(message)
# Hier wird die komplette Logik dann ausgeführt.......
# Du könnest also so etwas machen wie....
# in der main.py dein eigenes Objekt instanziieren, dazu "bot" übergeben.
# also:
#
# mein_event_handler = MeineHandlerKlasse(bot=bot)
#
# class MeineHandlerKlasse(bot):
# def __init__(self, bot):
# self.bot = bot
# self.bot.add_listener(self.mein_handler)
#
# def mein_handler(self, message):
# # deine Aktion...
#
#
# Damit hättest du in deiner main.py nur noch das importieren deiner Klasse
# und das instanziieren eines Objekts. Alles andere wird dann in deinem eigenen
# Modul gemacht.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment