定義したはずなのにエラーがでる
Using variable 'dice1' before assignmentとエラーがでます。
エラーの意味は理解できるのですが、自分としてはちゃんと定義できているつもりなのでなぜエラーが出るのかわかりません。
Python
1import discord 2import random 3import re 4 5dice1=0 6dice2=10 7 8# 自分のBotのアクセストークンに置き換えてください 9TOKEN = 'アクセストークン' 10 11# 接続に必要なオブジェクトを生成 12client = discord.Client() 13 14# 起動時に動作する処理 15@client.event 16async def on_ready(): 17 channel=client.get_channel(チャンネル) 18 await channel.send('ログインしました') 19 20# メッセージ受信時に動作する処理 21@client.event 22async def on_message(message): 23 if message.content =='/dice': 24 await message.channel.send(random.randint(dice1,dice2)) 25 26 if message.content=='/make_dice': 27 await message.channel.send('_highest[任意の数字]か_lowest[任意の数字]をつけて') 28 29 if 'make_dice_highest' in message.content: 30 dice2=re.findall('[0-9]+',message.content) 31 32 if 'make_dice_lowest' in message.content: 33 dice1=re.findall('[0-9]+',message.content) 34 35# Botの起動とDiscordサーバーへの接続 36client.run(TOKEN)
async def on_message(message)の処理の中で定義するとエラーは出なくなるのですが、それ以外の方法はないのでしょうか?
また、なぜ上のコードではエラーが出るのかも教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー