EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

【discord bot】タスクを使って処理を定期実行する

件名のとおり。一定期間おきに処理を実行する。

 

インポート

from discord.ext import tasks

 

関数の定義

↓は10秒おきに実行する

-----

@tasks.loop(seconds=10)
async def send_message_every_10sec():
  dt_now = datetime.datetime.now()
  await channel_sent.send(dt_now)

-----

 

関数実行の定義

on_ready関数で記述

----

  global channel_sent
  channel_sent = client.get_channel(CHANNELID)
  send_message_every_10sec.start()

-----

globalで全体で参照できる変数を定義。

チャンネルIDを設定しておく。

.start()関数でtaskを起動する。

 

動作確認

OKでしょう

 

以上