Discord Bot der in einem Abstand regelmäßig eine Nachricht sendet?
Ich suche einen Discord Bot der folgendes kann:
- Man stellt als erstes eine Zeit ein
- Wenn man z.B. Als Zeit 1 Minute angibt , soll der Bot eine Nachricht ( die man selbst schreiben kann)jede Minute abschicken.
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))
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
könntest du es ein bisschen detaillierter erklären was man machen muss
ich lass einfach mal das hier aus den Dokumentationen hier. https://discordpy.readthedocs.io/en/latest/ext/tasks/index.html
Bei Windoof weiß ich keine Automatik. Unter Linux schreibt man einen kleinen Cronjob und fertig.
Hättest du so etwas auch für javascript?