前提・実現したいこと
現在、DiscordのBotを作成しています。Qiitaにあるソースコードをそのまま再現をしてみたのですが、上手く動きません。
python
1#coding:UTF-8 2import discord 3from discord.ext import tasks 4 5TOKEN = "**********" #トークン 6CHANNEL_ID = ********** #チャンネルID 7# 接続に必要なオブジェクトを生成 8client = discord.Client() 9 10# 60秒に一回ループ 11@tasks.loop(seconds=60) 12async def loop(): 13 channel = client.get_channel(CHANNEL_ID) 14 await channel.send('時間だよ') 15 16#ループ処理実行 17loop.start() 18# Botの起動とDiscordサーバーへの接続 19client.run(TOKEN)
このソースコードの中で、
python
1# 60秒に一回ループ 2@tasks.loop(seconds=60) 3async def loop(): 4 channel = client.get_channel(CHANNEL_ID) 5 await channel.send('時間だよ')
この部分がうまく動作しませんでした。
発生している問題・エラーメッセージ
エラーメッセージ自体は、表示されていません。
もちろん、トークンもチャンネルIDも正しく設定しています。
printにて、以下のようにソースコードを変更したら、1分ごとにprintの内容が出力されました。
python
1# 60秒に一回ループ 2@tasks.loop(seconds=60) 3async def loop(): 4 print('時間だよ')
そのため、loop関数はしっかりと機能していることは確認できました。しかし、以下のようにchannelの内容を出力すると
python
1# 60秒に一回ループ 2@tasks.loop(seconds=60) 3async def loop(): 4 channel = client.get_channel(CHANNEL_ID) 5 print(channel)
出力内容↓
None
このように、正しくchannelのIDを取得することができません。他にも、英語の情報などを当たったのですが、問題が解決できませんでした。
どなたか、解決策をご存知の方がいましたら、ぜひご教授願いたいです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
python3.6.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/27 13:50
2020/06/27 13:56