discord.py send_message 用法

2022-01-15 00:00:00 python discord discord.py

问题描述

我已经开始着手一个项目来加速我对 python 的学习.我正在尝试重新创建一个我经常使用的不和谐机器人,因为我已经习惯了它的功能.以下是我当前的代码

I've started working on a project to accelerate my learning of python. I'm trying to recreate a discord bot I use quite a bit since i'm already use to its features. Below is my current code

import discord
from discord import User
from discord.ext.commands import Bot

import secrets

pybot = Bot(command_prefix = "!")

@pybot.event
async def on_read():
    print("Client logged in")

@pybot.command()
async def hello(*args):
    print(User.display_name)
    return await pybot.say("Hello, world!")

@pybot.command()
async def truck(*args):
    await pybot.send_message(message.user,'Watchout for that truck!')

pybot.run(secrets.BOT_TOKEN)

我想要发生的事情是,当有人键入命令 !truck <mention user> 时,它会向提到的用户发送一条消息,其中包含小心那辆卡车!"的消息.

what im trying to get to happen is when someone types the command !truck <mention user> it sends a message to that mentioned user with the message "Watch out for that truck!".

我收到以下错误:

命令引发异常:NameError: name 'message' is not defined

Command raised an exception: NameError: name 'message' is not defined

我尝试查找我正在尝试做的事情的示例,但没有找到太多,或者我不明白我应该做什么.希望这不是类似问题的转贴

I've tried looking up examples of what im trying to do but haven't found much, or am not understanding what I should be doing. Hopefully this isn't a repost of a similar question

谢谢.


解决方案

我认为你的卡车中的 *args 不再是有效的语法,我相信使用 discord.py 的命令

The *args in your truck is no longer valid syntax I believe for the commands with discord.py

@pybot.command(pass_context=True)
async def truck(ctx):
    await pybot.send_message(ctx.message.user, 'Watchout for that truck!')

使用他们的 查看 Discord.py 的 github 存储库例子

相关文章