当前位置: 首页 > 知识库问答 >
问题:

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

欧阳晗日
2023-03-14

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

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)

我的输出:

与不和有关![

文件"C:\用户\Cinar\untitled0.py",第18行,client.run('Bot Token', bot=False)

在运行_cleanup_loop(循环)中,文件"D:\用户\Cinar\anaconda3\lib\site-包\discord\client.py",第714行。

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

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

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

共有1个答案

微生高谊
2023-03-14

我认为你试图用一个实际的机器人令牌来做自我机器人,我不建议继续这样做,因为自我机器人是反对ToS的。但是如果你真的想这样做,使用你的电子邮件和密码而不是机器人令牌。我要再次警告你,自我植入是反对ToS的,可能会让你的账户被禁止,所以你要自担风险。反正已经有人问如何登录作为一个用户在这里。

正如我在前面的评论中所说的,我调查了不和谐。py docs并发现history()正在生成消息。因此,也许您应该尝试执行打印(消息[0].content)

 类似资料:
  • 我想创建一个不和谐机器人,每天在特定的时间发送2条消息。下面的代码将使消息进入一个循环,例如每5秒发送一条消息。我如何设置每天发送消息的具体时间,例如,消息1在下午6点,消息2在上午10点。我在这里找到了这段代码,但是没有找到我想要的。

  • 我正在为我的discord服务器制作一个机器人,但我遇到了问题。我想要的是,当最后一个人离开一个语音频道(它是由机器人生成的)时,我想要删除该语音频道。 我也考虑过测试任何空的语音频道并删除它们,但我不知道如何做。

  • 我目前正在为我的不和谐服务器开发一个discord.py重写(1.3.3)机器人。目前,我正试图让机器人在语音频道中播放音乐。根据discord.py留档,您将使用函数channel.connect()连接到语音通道,该通道将返回VoiceClient对象。 然而,我从未从通道中获得VoiceClient对象。连接()。机器人确实加入了我的频道,但它似乎陷入了一个无限循环。在“wait chann

  • 我觉得我对这个话题的所有研究只会让我找到过时的解决方案。 与我的不和。js机器人,我有一个命令。为了让它工作,我需要在命令发出之前获取通道中的最后一条消息。我正在努力处理所有的抓取、分区和缓存等问题。 有时,当我在机器人启动后立即发布消息并使用上面的命令时,它会起作用,但是如果我重新启动机器人,它似乎会得到错误的消息。另外,超过14天的邮件怎么办? 我不能真正提供代码,因为它只有一行,比如:

  • 我在学习不和谐。py和我想让机器人发送嵌入的消息,就像。(@user已加入!)当用户加入特定的语音频道(如music.vc)时,仅在特定的文本频道加入(音乐频道) 像这样 当用户加入时 还 当用户离开时

  • 我希望我的机器人每天在特定的时间发送一条消息,运行另一个机器人的命令。例如,我想让我的机器人写“s!t"每天凌晨2点在特定频道上,并删除机器人发送的消息。我该怎么做?