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

Python Discord Bot:如何与用户交互?

Python Discord Bot:如何与用户交互?

PIPIONE 2023-07-05 15:37:42
我正在尝试为我的服务器制作一个 Discord 机器人,但遇到了一些困难。我查看了其他人的问题,应用了所有类型的更改,但我仍然陷入困境。作为参考,我对 Python 比较陌生,并且 100% 是 Discord 机器人的初学者。所以,这是我的代码:import discordfrom discord.ext import commandsprefix = ">"client = commands.Bot(command_prefix=prefix, case_insensitive=True)@client.eventasync def on_ready():    print('We have logged in as {0.user}'.format(client))@client.eventasync def on_message(message):    if message.author == client.user:        return    if message.content.startswith('>hello'):        msg = 'Hello, {0.author.mention}!'.format(message)        await message.channel.send(msg)        @client.command(name = "pomodoro")async def Pomodoro(ctx):    if ctx.content.startswith('>pomodoro'):        await ctx.channel.send("Let's grab some tomatoes! For how many minutes?")    def check(msg):        return msg.author == ctx.author and msg.channel == ctx.channel and \               type(msg.content)==int    msg = await client.wait_for("message", check=check)hello 函数完美运行。我的问题是番茄工作法(当然,它还没有完成)。我使用此功能的目的是询问用户他们想要学习多少分钟,然后询问他们想要休息多少分钟,然后使用这两个变量设置一个计时器。但我什至无法让它发送第一条消息("Let's grab some tomatoes! For how many minutes?")。我不知道我做错了什么,特别是当第一个功能工作正常时。提前致谢!
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

覆盖提供的默认值on_message会禁止运行任何额外的命令。要解决此问题,请client.process_commands(message)在on_message.


@client.event

async def on_message(message):

    if message.author == client.user:

        return


    if message.content.startswith('>hello'):

        msg = 'Hello, {0.author.mention}!'.format(message)

        await message.channel.send(msg)


    await client.process_commands(message)  # <----



@client.command(name="pomodoro")

async def _pomodoro(ctx):

    await ctx.channel.send("Let's grab some tomatoes! For how many minutes?")


    def check(msg):

        return msg.author == ctx.author and msg.channel == ctx.channel and \

               type(msg.content) == int


    msg = await client.wait_for("message", check=check)


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

添加回答

举报

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