回复消息电报机器人

时间:2018-02-04 20:23:36

标签: c# telegram-bot

我知道如何回复用户的留言,但我不知道如何回复机器人发来的最新消息。

我需要机器人MessageID

来自用户的此消息: 嗨 这是发送给用户的消息:

await BotAdminChannel.SendTextMessageAsync(e.Message.Chat.Id, "hello user");

这是来自用户的回复消息:

await BotAdminChannel.SendTextMessageAsync(358434970, "How are you user", replyToMessageId:e.Message.MessageId);

但我想要回复你好用户 我需要bot_messageID吗? 怎么能得到它

class Program
{
    private static ITelegramBotClient BotAdminChannel = new TelegramBotClient("token");
    static void Main(string[] args)
    {
        BotAdminChannel.OnMessage += BotAdminChannel_OnMessage;
        Console.Title = BotAdminChannel.GetMeAsync().Result.FirstName;
        BotAdminChannel.StartReceiving();
        Console.ReadLine();
    }

    private async static void BotAdminChannel_OnMessage(object sender, MessageEventArgs e)
    {
        await BotAdminChannel.SendTextMessageAsync(e.Message.Chat.Id, "hello user");
        await BotAdminChannel.SendTextMessageAsync(358434970, "How are you user", replyToMessageId:e.Message.MessageId);
    }
}

2 个答案:

答案 0 :(得分:0)

您使用SendMessage函数中的 reply_markup 属性,并将其设置为ForceReply

在电报bot api文档中了解有关此内容的更多信息:

答案 1 :(得分:0)

嗨,我希望你一切都好,我自己是一个nooby,看到了你的问题并对此做了一些努力,发现了一种显然不是专业的方法,但是某种程度上可行 您会看到replyToMessageId:在后​​面跟一个整数时有效,并且聊天中的所有消息都已编号,因此您可以找到要回复的消息编号并将其放在replyToMessageId:之后 以下代码将在最后一条消息Bot.SendTextMessageAsync(e.Message.Chat.Id,"the text you want",replyToMessageId: e.Message.MessageId-1);

之前答复一条消息
相关问题