前提・実現したいこと
コマンドと数字が入力された時に、入力された数字が100に達する時間を返す。
数字は10分につき1上昇するとする。
例)0時0分に「/97」と入力された時、30分後に100に達するので「0時30分」を返す。
エラー文
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\PycharmProjects\discord\venv\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\PycharmProjects\discord\bot.py", line 48, in on_message
jikan = jikan + h
NameError: name 'channel' is not defined
該当のソースコード
Python
1#coding:UTF-8 2import discord 3from discord.ext import tasks 4from datetime import datetime 5 6CHANNEL_ID2 = #チャンネルID 7# 接続に必要なオブジェクトを生成 8client = discord.Client() 9 10 11@client.event 12async def on_message(message): 13 # / というコマンドで反応する 14 if message.content.startswith('/'): 15 str = message.content 16 number = str.lstrip('/') 17 # min = (100 - number) * 10 <-- intに変換 18 min = (100 - int(number)) * 10 19 if min >= 60: 20 hour = min // 60 21 minute = min % 60 22 else: 23 hour = 0 # <-- 60以下の場合のhourの初期化 24 minute = min 25 now = datetime.now() 26 jikan = now.hour + hour 27 fun = now.minute + minute 28 if fun >= 60: 29 h = fun // 60 30 fun = fun % 60 31 jikan = jikan + h 32 channel = client.get_channel(CHANNEL_ID2) 33 await channel.send(str(jikan) + '時' + str(fun) + '分です。') 34 35#ループ処理実行 36loop.start() 37# Botの起動とDiscordサーバーへの接続 38client.run(TOKEN)
回答1件
あなたの回答
tips
プレビュー