Discord.py:如何在特定频道上打印最后一条消息?

2024-10-03 04:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码是这样的,但是输出很糟糕

import os
import discord
import asyncio
from discord.ext import tasks, commands
client = discord.Client()


@client.event
async def on_ready():
 print(f'Connected to Discord!')
 channel = client.get_channel(231231321213)
 messages = await channel.history(limit=1).flatten()
 print(messages)
 
 


client.run('token', bot=False)

我的输出:

与不和有关! [<;消息id=826111938446864848通道=type=<;消息类型。默认值:0>;作者=flags=>;] 回溯(最近一次呼叫最后一次):

文件“C:\Users\cinar\untitled0.py”,第18行,在 client.run('Bot-Token',Bot=False)

文件“D:\Users\cinar\anaconda3\lib\site packages\discord\client.py”,第714行,正在运行 _清除循环(循环)

文件“D:\Users\cinar\anaconda3\lib\site packages\discord\client.py”,第95行,在\u cleanup\u循环中 loop.close()

文件“D:\Users\cinar\anaconda3\lib\asyncio\selector\u events.py”,第89行,关闭 raise RUNTIMERROR(“无法关闭正在运行的事件循环”)

RuntimeError:无法关闭正在运行的事件循环


Tags: 文件runpyimportclientasynciofalselib
1条回答
网友
1楼 · 发布于 2024-10-03 04:28:19

我想你是想用一个真实的机器人令牌来做自我机器人,我不建议你继续这样做,因为自我机器人攻击ToS。但如果你真的想这么做,使用你的电子邮件和密码,而不是机器人令牌。我要再次警告你,自我攻击是对ToS的,可能会禁止你的帐户,所以你自己承担风险。无论如何,已经有人问过如何以用户身份登录here.

正如我在前面的评论中所说,我查看了discord.py文档,发现history()正在生成消息。所以也许你应该试着做print(message[0].content)

相关问题 更多 >