OnTeessage事件不会在Telegram.Bot包中触发

时间:2017-06-30 13:25:01

标签: c# telegram-bot

嗨专家:)我正试图在我的电报机器人收到消息时显示一个MessageBox。我使用了Telegram.Bot包并编写了这些代码:

       TelegramBotClient Bot = new TelegramBotClient("MyToken");

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Bot.OnMessage += Bot_OnMessage;
        Bot.OnUpdate += Bot_OnUpdate;

    }

    private void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
    {
        MessageBox.Show(e.Message.Text);
    }

    private void Bot_OnUpdate(object sender, Telegram.Bot.Args.UpdateEventArgs e)
    {
        var botClient = (TelegramBotClient)sender;
        MessageBox.Show(e.Update.Message.Text);
    }

但是当我向我的机器人发送消息时它没有显示消息框。 怎么了 ? :S

2 个答案:

答案 0 :(得分:2)

添加了一行代码并且它有效:):

 TelegramBotClient Bot = new TelegramBotClient("MyToken");

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Bot.StartReceiving();
        Bot.OnMessage += Bot_OnMessage;
    }

    private void Bot_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
    {
        MessageBox.Show(e.Message.Text);
    }

Bot.StartReceiving()是开始收听新消息所需要的东西:)

答案 1 :(得分:0)

请检查所有引用的库是否都基于x64或AnyCPU构建

我的解决方案中有一个x86项目,因此OnMessage没有触发。