如何正确使用我的discord 机器人登录?

问题描述 投票:0回答:1

我正在尝试创建一个事件,它将发送到某个频道的 Discord 消息记录在标有该特定频道 ID 的文本文件中,该文本文件本身位于标有服务器 ID 的文件夹中。

@bot.event
async def on_message(ctx):
    msg_cnt = ctx.content
    #msg_chnl = ctx.channel
    #msg_srvr = ctx.message.guild.id
    msg_sndr = ctx.author#.split("#")[0]

    #log = open(msg_srvr + "/" + msg_chnl + ".txt")
    #log.write(msg_sndr, ": ", msg_cnt, "\n")
    print(msg_sndr, ": ", msg_cnt)

您会注意到我注释掉了几件事。这是因为那里显示的内容(未注释掉的内容)有效。然而,当我尝试做一些简单的事情,比如分割

msg_sndr
字符串(即使是在新行上)时,当我在 Discord 上发送一条消息时,它会抛出一个错误,并且不会告诉我我做错了什么。它说
"An error occured: "
后面跟着一堆关于我发送测试消息的通道和服务器的信息。这很奇怪(至少对我来说),当我尝试分割一个消息时,它会给我一个奇怪的 Discord API 错误。蟒蛇字符串。我很困惑。即使完全删除 split 函数并尝试将消息记录在测试文件中也会产生相同的结果。

discord discord.py
1个回答
0
投票

就像@guy-incognito所说,

ctx.author
不是字符串,你必须使用
ctx.author.name
ctx.author.id
作为作者的用户名和ID。

© www.soinside.com 2019 - 2024. All rights reserved.