You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发Telegram Bot遇CS0121错误:StartReceiving调用歧义如何解决?

解决Telegram Bot中StartReceiving调用歧义错误(CS0121)

错误说明

错误CS0121:调用以下方法或属性时存在歧义:
Telegram.Bot.TelegramBotClientPollingExtensions.StartReceiving(...) 和 Telegram.Bot.TelegramBotClientExtensions.StartReceiving(...)

问题原因

你的项目引用的Telegram.Bot库中,两个不同的静态扩展类提供了同名且参数签名一致的StartReceiving方法,编译器无法自动判断该调用哪一个,因此抛出歧义错误。

解决方案

  • 显式指定调用的扩展类
    直接在调用时指明要使用的扩展方法所属的静态类,强制编译器选择目标方法:

    // 二选一,根据你的库版本选择合适的类
    Telegram.Bot.TelegramBotClientPollingExtensions.StartReceiving(client, Update, null);
    // 或者
    Telegram.Bot.TelegramBotClientExtensions.StartReceiving(client, Update, null);
    
  • 清理冗余命名空间引用
    检查代码顶部的using指令,如果某个冲突的命名空间是项目不需要的,直接移除即可。比如如果未用到Telegram.Bot.Extensions.Polling或Telegram.Bot.Polling的其他功能,删掉对应的using语句就能消除歧义。

  • 更新Telegram.Bot库到稳定版
    这类歧义通常是库版本迭代中方法迁移导致的(旧方法暂时保留兼容逻辑),更新到最新稳定版后,冗余的方法可能会被移除,从根源解决问题。

修正后的完整代码

顺便修复了原代码中的小问题(空值判断、阻塞逻辑、大小写匹配):

using System;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Types;
using System.Threading;

namespace Telegram_bot_Secret
{
    internal class Program
    {
        static void Main()
        {
            var client = new TelegramBotClient("你的TOKEN");
            // 显式指定扩展类解决歧义
            Telegram.Bot.TelegramBotClientPollingExtensions.StartReceiving(client, Update, null);
            Console.ReadLine();
        }

        async static Task Update(ITelegramBotClient botClient, Update update, CancellationToken token)
        {
            var message = update.Message;
            if (message?.Text != null) // 更安全的空值判断
            {
                if (message.Text.ToLower().Contains("hello")) // 统一小写匹配更准确
                {
                    await botClient.SendTextMessageAsync(message.Chat.Id, "Hello?");
                    return;
                }
            }
            // 移除原代码中的Console.ReadKey(),避免阻塞Bot接收后续更新
        }
     }
}

内容的提问来源于stack exchange,提问作者Efrem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:20:27