该项目提供了一个 Telegram 客户端库以及一个用于 AI 助手与 Telegram 交互的 MCP(模型上下文协议)服务器,能够帮助开发者便捷地实现 Telegram 相关功能,为 AI 助手与 Telegram 的交互搭建桥梁。
本项目提供了 Telegram 客户端库和 MCP 服务器,以下是快速使用的步骤:
.env
文件,添加您的 Telegram API 凭证:TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
TELEGRAM_PHONE_NUMBER=your_phone_number
PORT=3000 # 可选,默认为 3000(MCP 服务器)
npm install
const TelegramClient = require("./telegram-client");
const dotenv = require("dotenv");
dotenv.config();
async function main() {
// 创建一个新的客户端实例
const client = new TelegramClient(
process.env.TELEGRAM_API_ID,
process.env.TELEGRAM_API_HASH,
process.env.TELEGRAM_PHONE_NUMBER
);
// 登录到 Telegram
await client.login();
// 获取所有对话/群组
const { chats } = await client.getDialogs();
// 打印所有对话/群组信息
chats.forEach((chat) => {
if (chat.title) {
console.log(`对话:${chat.title}`);
}
});
}
main().catch(console.error);
运行示例客户端:
npm run client
npm start
http://localhost:3000/mcp
npm run mcp-client
有关 MCP 服务器的详细信息,请参阅 MCP-README.md。
有关代码结构,请参阅 CODE_STRUCTURE.md。
const client = new TelegramClient(apiId, apiHash, phoneNumber, sessionPath);
apiId
:您的 Telegram API IDapiHash
:您的 Telegram API HashphoneNumber
:您的电话号码(国际格式)sessionPath
:(可选)存储会话文件的路径(默认: './data/session.json')login()
:登录到 Telegram 账号getDialogs()
:获取所有对话和群组信息getMessageById(id)
:通过 ID 获取特定消息sendMessage(chatId, text)
:向指定聊天发送消息filterMessages(pattern)
:按正则表达式过滤消息项目中的主要文件包括:
telegram-client.js
:Telegram 客户端库的核心实现mcp-server.js
:MCP 服务器的主要逻辑README.md
:项目文档和使用说明.env
:环境变量配置文件package.json
:项目依赖管理文件该库设计用于与其他 AI 助手(如 Claude)集成,允许这些助手通过 Telegram 进行交互并处理消息。您可以通过自定义逻辑扩展其功能。
本项目使用 MIT 许可证,详情请参阅 LICENSE 文件。