Telegram机器人API服务

一个实现Telegram Bot API交互的MCP服务器,允许AI助手以编程方式发送消息和获取机器人信息。

  • by NexusX-MCP
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 nexusx-mcp/telegram-mcp-server

使用说明

电报MCP服务器

MCP服务器实现,提供与 电报机器人API该服务允许AI助手以编程方式发送消息和检索机器人信息。

工具

Telegram MCP服务为与Telegram Bot API交互提供以下工具:

get_bot_info

检索有关机器人的基本信息。

  • 无需参数
  • 返回包含机器人信息的User对象

send_message

向指定聊天室发送消息。

  • chatId:目标聊天的唯一标识符(可以是字符串或数字)
  • text:要发送的消息文本
  • params (可选):消息的其他参数(例如parse_mode、reply_markup等)

获取更新

使用长轮询接收传入更新。

  • params (可选):包含可选参数的对象:
    • offset (可选):要返回的第一个更新的标识符
    • limit (可选):限制要检索的更新数量(1-100)
    • timeout (可选):长轮询超时(秒)
    • allowed_updates (可选):要接收的更新类型数组
  • 返回一个包含各种类型更新的Update对象数组:
    • 消息和编辑的消息
    • 频道帖子
    • 业务消息
    • 内联查询
    • 回调查询
    • 发货查询
    • 结账前查询
    • 民意调查和民意调查答案
    • 聊天成员更新
    • 聊天加入请求
    • 聊天增强

转发消息

转发任何类型的消息。无法转发服务消息和包含受保护内容的消息。

  • chatId:目标聊天或目标频道用户名的唯一标识符(格式为@channelusername)
  • fromChatId:发送原始消息的聊天的唯一标识符(或@channelusername格式的频道用户名)
  • messageId:在from_chat_id中指定的聊天中的消息标识符
  • params (可选):包含可选参数的对象:
    • message_thread_id (可选):论坛目标消息线程(主题)的唯一标识符;仅适用于论坛超级群
    • video_start_timestamp (可选):消息中转发视频的新开始时间戳
    • disable_notification (可选):以静默方式发送消息。用户将收到一个没有声音的通知。
    • protect_content (可选):保护转发邮件的内容不被转发和保存
  • 成功时返回已发送的Message对象

配置

环境变量

您需要设置以下环境变量:

TELEGRAM_BOT_TOKEN=your_bot_token

您可以通过以下方式获取您的机器人令牌 @植物学家 在Telegram上创建一个新的机器人。

创建新的机器人

使用 /newbot 创建新机器人的命令。 @BotFather 将询问您的姓名和用户名,然后为您的新机器人生成身份验证令牌。

您的机器人名称显示在联系方式和其他地方。

用户名是一个短名称,用于搜索、提及和.me链接。用户名长度为5-32个字符,不区分大小写,但只能包含拉丁字符、数字和下划线。您的机器人用户名必须以“bot”结尾,如“tetris_bot”或“TetrisBot”。

令牌是一个字符串,如110201543:AAHdqTcvCH1vGWJxfSeofAs0K5PALDSaw,它是授权机器人程序并向机器人程序API发送请求所必需的。确保您的令牌安全并安全存储,任何人都可以使用它来控制您的机器人。

与机器人的名称不同,用户名以后不能更改,因此请仔细选择。 向api.telegram.org发送请求时,请记住在令牌前加上“bot”一词。

发展

npm install

npm run build

npx @modelcontextprotocol/inspector node dist/index.js

打开http://127.0.0.1:6274设置环境并与工具交互。

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。