如何在discord py中检查消息是否有回复

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

我还是不明白如何追踪下一刻 我发送一条消息,如果该消息没有回复,那么机器人会写下您错过了该消息并提供了一个链接 当消息被视为已读并且有响应时,存在以下条件:

def is_response_received(message):
    if message.reference:
        return True
    elif len(message.reactions) > 0:
        return True
    else:
        return False

如何防止我的机器人在聊天中写下有一条错过的消息,尽管有回复? 我需要两条消息:第一条消息和对其的回复作为目标,并且机器人认为第一条消息有回复。 请告诉我如何实现这个

我的代码的工作方式是机器人忽略响应,因为它符合条件,但它忽略通过“回复”做出响应的消息,尽管它不应该

python-3.x discord.py
1个回答
0
投票

创建字典并按键进行比较

def is_response_received(message):
    if message.reference and message.reference.message_id in message_map:
        return message_map[message.reference.message_id] == message.id
    elif not message.reference and (message.id in message_map and message_map[message.id] in message_map):
        return True
    elif len(message.reactions) > 0:
        return True
    return False


def save_message(message):
    message_map[message.id] = None
    if(message.reference):
        message_map[message.reference.message_id] = message.id
    logging.info(message_map)
© www.soinside.com 2019 - 2024. All rights reserved.