给出不和谐消息ID和频道ID,是否有办法找到同一不和谐信道的前一条消息?
消息ID是Intigers,我的印象是,这些ID单调增加。因此,如果有一种方法可以查找某个频道已收到的所有消息ID,那么我认为这很容易,只需找到小于您感兴趣的ID的最高ID。
答案 0 :(得分:0)
不确定您是要查找消息本身还是之前的消息的内容,但是您可以在txt_channel.history here中阅读更多内容:
历史记录的作用是使您能够查看文本通道的消息历史记录。
因此,如果您想使用其ID查找特定消息的内容,则可以执行以下操作:
(当然,您需要获取文本通道,可以查看here)
async for msg in txt_ch.history(limit=[how many messages back you want the loop to go]):
if msg.id == ID_OF_MSG: # you found the message
print("the message with the id has been found")
现在此代码^^会将您指向您使用当前ID给出的消息,但是如果您想获得该消息之前的消息,则只需添加以下内容:
async for msg in txt_ch.history(limit=[how many messages back you want the loop to go]):
found_message = False
if msg.id == ID_OF_MSG: # you found the message
found_message =True
elif found_message:
found_message = False
print("previous message")
当然,您可以将打印的最后一行更改为:
print(msg.content)
查看其内容,或者您可以将其发送回频道,完全由您决定。
不可以: 我尝试对其进行测试,但似乎消息的ID似乎不是一个接一个的,因此您无法执行ID-1来获取先前的消息ID。