问题描述
我已经开始着手一个项目来加速我对 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 存储库例子