【问题标题】:reply message telegram bot回复消息电报机器人
【发布时间】:2020-12-13 04:03:05
【问题描述】:

知道怎么回复用户的消息,但是不知道怎么回复机器人最新的消息。

我需要机器人 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);
    }
}

【问题讨论】:

    标签: c# telegram-bot


    【解决方案1】:

    您应该在SendMessage 函数中使用reply_markup 属性并将其设置为ForceReply

    在电报机器人 api 文档中了解更多信息:

    【讨论】:

    • 谢谢,我已经找了好几个小时了!
    【解决方案2】:

    您好,我希望您做得好,我自己是个菜鸟,看到您的问题并对其进行了一些工作,并找到了一种显然不是专业的方法,但它以某种方式起作用 您会看到replyToMessageId: 后面跟一个整数时有效,并且聊天中的所有消息都有编号,因此您可以找到要回复的消息编号并将其放在后面replyToMessageId: 下面的代码将回复上一条消息之前的一条消息Bot.SendTextMessageAsync(e.Message.Chat.Id,"the text you want",replyToMessageId: e.Message.MessageId-1);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-19
      • 1970-01-01
      • 2020-08-01
      • 2020-08-27
      • 2017-03-19
      • 2017-07-17
      • 2021-09-09
      • 2017-09-01
      相关资源
      最近更新 更多