为了账号安全,请及时绑定邮箱和手机立即绑定

Discord.py 自动将不和谐的结果作为直接消息发送

Discord.py 自动将不和谐的结果作为直接消息发送

慕神8447489 2023-07-18 10:16:43
我想知道如何让这个脚本在特定用户的直接消息上发送结果(获胜或失败),这是一个简单的示例:    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将结果发送给用户。


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信