所以我正在制作服务器中需要的非常简单的机器人。它的工作真的很简单。 为了更好地理解我的需求,我提供了一个渠道,人们必须在该渠道中猜测1到50000之间的某个数字。如果他们猜中了,他们就会获胜,然后机器人会宣布这一点。 我需要的是,该程序会检查每条消息,如果它不是1到50000之间的数字,它将删除该消息。
目前这就是我所拥有的。我尝试了很多尝试,例如尝试将“消息”转换为整数,但是它不会让我失望。
@client.event
async def on_message(message):
if(message.channel.id == "492772765737156628"):
if message.content > 50000:
await client.delete_message(message)
我真的对编码特别陌生,尤其是在python中,并且只了解一些基础知识。我感谢每个答案并得到我的帮助:)
答案 0 :(得分:0)
您希望message.content
(一个字符串)为整数,而不是message
(一个包含许多其他数据的Message
对象)。
message.content
的值有3种可能性:
您可以测试所有这些
@client.event
async def on_message(message):
if(message.channel.id == "492772765737156628"):
try:
content = int(message.content)
if content > 50000:
await client.delete_message(message)
except ValueError:
await client.delete_message(message) # not an integer