我想知道如何让这个脚本在特定用户的直接消息上发送结果(获胜或失败),这是一个简单的示例: from discord.ext import commands import discord import os from random import * client = commands.Bot(command_prefix = '-') @client.event async def on_ready(): print('Bot Is Ready') @client.command() #The command in order to execute the script first async def dm(ctx): rand_num = (randint(1, 3)) win_num = 1 if rand_num == win_num: print("number was:", rand_num) print("won") @client.event async def on_win(): dmessage.send.user("You won!") #Send the won result message via direct message on discord automatically elif rand_num != win_num: print("number was:", rand_num) print("lost") @client.event async def on_lost(): dmessage.send.user("You lost") #Send the lost result message via direct message on discord automatically client.run('TOKEN')
1 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
如果您想发送私人消息(直接消息),您可以使用member.create_dm但不能使用类似on_win或 的东西on_lost。
@client.command()
async def dm(ctx):
rand_num = (randint(1, 3))
win_num = 1
pm_channel = await ctx.author.create_dm()
if win_num == rand_num:
await pm_channel.send("You won!")
else:
await pm_channel.send("You lost")
所以在这段代码中,member 当member 写入时prefix + dm,它会检查rand_num然后win_num将结果发送给用户。
添加回答
举报
0/150
提交
取消