Discord Bot der in einem Abstand regelmäßig eine Nachricht sendet?

2 Antworten

Lässt sich leicht selbst implementieren, hier z.B. in Python (discord.py) in einem Modul (Cog), was im Bot geladen werden muss - hier aber ohne das ganze Gerüst außen drum

async def msgtimer(self, msg, time, channel_id):
  while True:
    await self.bot.get_channel(channel_id).send(msg)
    await asyncio.sleep(time)

das ganze müsste in der init vom Cog dann nurnoch gestartet werden:

def __init__(self, bot):
  self.bot = bot
  self.timer = self.bot.loop.create_task(self.msgtimer())

kann man natürlich auch in den Bot direkt schreiben

edit: nvm, man muss den Task natürlich dann durch msg, time und channel id über einen Command starten - hier mal ohne Überprüfung, was da übergeben wurde

@commands.command()
def startTimer(self, ctx, time, channel_id, *, msg):
  self.timer = self.bot.loop.create_task(self.msgtimer(msg, time, channel_id))

KGrafik 
Beitragsersteller
 22.09.2019, 18:55

Oh Gott wie macht man einen Bot 🙈

0
mxwxplxy  19.05.2021, 14:00

Hättest du so etwas auch für javascript?

0
xxxcyberxxx  19.05.2021, 14:28
@mxwxplxy
Hättest du so etwas auch für javascript?

nope, da ich mich Javascript eigentlich gar nicht nutze und mich auch mit JS-Bots nicht auseinandergesetzt habe - auch da wirst du bestimmt eine Online-Dokumentation finden können.

Auch für meine Antwort gibt es inzwischen einen eleganteren Weg

0

Bei Windoof weiß ich keine Automatik. Unter Linux schreibt man einen kleinen Cronjob und fertig.


KGrafik 
Beitragsersteller
 21.09.2019, 09:30

Uff Ich mach es einfach mit MEE6

0