[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10744":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},10744,"messaging-apis","bottenderjs\u002Fmessaging-apis","bottenderjs","Messaging APIs for multi-platform","https:\u002F\u002Fbottenderjs.github.io\u002Fmessaging-apis\u002Flatest\u002F",null,"TypeScript",1936,203,63,10,0,1,55.03,"MIT License",false,"master",true,[24,25,26,27,28,29,30,31,32,33],"api-client","bot","chatbot","line","messaging","messenger","slack","telegram","viber","wechat","2026-06-12 04:00:52","# Messaging APIs\n\n[![Build Status](https:\u002F\u002Fgithub.com\u002FYoctol\u002Fmessaging-apis\u002Fworkflows\u002FNode.js%20CI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FYoctol\u002Fmessaging-apis\u002Factions?query=workflow%3ANode.js%20CI+branch%3Amaster)\n[![coverage](https:\u002F\u002Fcodecov.io\u002Fgh\u002FYoctol\u002Fmessaging-apis\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002FYoctol\u002Fmessaging-apis)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nMessaging APIs is a [mono repo](https:\u002F\u002Fgithub.com\u002Fbabel\u002Fbabel\u002Fblob\u002Fmaster\u002Fdoc\u002Fdesign\u002Fmonorepo.md) which collects APIs needed for bot development.\n\nIt helps you build your bots using similar API for multiple platforms, e.g. Messenger, LINE. Learn once and make writing cross-platform bots easier.\n\nIf you are looking for a framework to build your bots, [Bottender](https:\u002F\u002Fgithub.com\u002FYoctol\u002Fbottender) may suit for your needs. It is built on top of [Messaging APIs](https:\u002F\u002Fgithub.com\u002FYoctol\u002Fmessaging-apis) and provides some powerful features for bot building.\n\n![](https:\u002F\u002Fuser-images.githubusercontent.com\u002F3382565\u002F33652388-3644799e-daa4-11e7-97f1-e9af5788ff6e.png)\n\n## Packages\n\n| Package                                                        | Version                                                                                                                                     | Platform                                |\n| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |\n| [`messaging-api-messenger`](\u002Fpackages\u002Fmessaging-api-messenger) | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-messenger.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-messenger) | [Messenger](https:\u002F\u002Fwww.messenger.com\u002F) |\n| [`messaging-api-line`](\u002Fpackages\u002Fmessaging-api-line)           | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-line.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-line)           | [LINE](https:\u002F\u002Fline.me\u002F)                |\n| [`messaging-api-slack`](\u002Fpackages\u002Fmessaging-api-slack)         | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-slack.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-slack)         | [Slack](https:\u002F\u002Fslack.com\u002F)             |\n| [`messaging-api-telegram`](\u002Fpackages\u002Fmessaging-api-telegram)   | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-telegram.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-telegram)   | [Telegram](https:\u002F\u002Ftelegram.org\u002F)       |\n| [`messaging-api-viber`](\u002Fpackages\u002Fmessaging-api-viber)         | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-viber.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-viber)         | [Viber](https:\u002F\u002Fwww.viber.com\u002F)         |\n| [`messaging-api-wechat`](\u002Fpackages\u002Fmessaging-api-wechat)       | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmessaging-api-wechat.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmessaging-api-wechat)       | [WeChat](https:\u002F\u002Fweixin.qq.com\u002F)        |\n\n## Usage\n\n## Messenger\n\n\u003Cimg src=\"https:\u002F\u002Fstatic.xx.fbcdn.net\u002Frsrc.php\u002Fyg\u002Fr\u002F4_vfHVmZ5XD.ico\" alt=\"Messenger\" width=\"100\" \u002F>\n\nInstall `messaging-api-messenger` package from the registry:\n\n```sh\nnpm i --save messaging-api-messenger\n```\n\nor\n\n```sh\nyarn add messaging-api-messenger\n```\n\nThen, create a `MessengerClient` to call Messenger APIs:\n\n```js\nconst { MessengerClient } = require('messaging-api-messenger');\n\n\u002F\u002F get accessToken from facebook developers website\nconst client = new MessengerClient({\n  accessToken: 'ACCESS_TOKEN',\n});\n\nclient.sendText(userId, 'Hello World').then(() => {\n  console.log('sent');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-messenger\u002FREADME.md) for more detail information.\n\n## LINE\n\n\u003Cimg src=\"http:\u002F\u002Fis5.mzstatic.com\u002Fimage\u002Fthumb\u002FPurple117\u002Fv4\u002F01\u002Fc2\u002F4d\u002F01c24d99-4aae-71ea-24e2-d0b68f8c53d2\u002Fsource\u002F1200x630bb.jpg\" alt=\"LINE\" width=\"100\" \u002F>\n\nInstall `messaging-api-line` package from the registry:\n\n```sh\nnpm i --save messaging-api-line\n```\n\nor\n\n```sh\nyarn add messaging-api-line\n```\n\nThen, create a `LineClient` to call LINE APIs:\n\n```js\nconst { LineClient } = require('messaging-api-line');\n\n\u002F\u002F get accessToken and channelSecret from LINE developers website\nconst client = new LineClient({\n  accessToken: 'ACCESS_TOKEN',\n  channelSecret: 'CHANNEL_SECRET',\n});\n\nclient.pushText(userId, 'Hello World').then(() => {\n  console.log('pushed');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-line\u002FREADME.md) for more detail information.\n\n## Slack\n\n\u003Cimg src=\"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F1200\u002F1*TiKyhAN2gx4PpbOsiBhYcw.png\" alt=\"Slack\" width=\"100\" \u002F>\n\nInstall `messaging-api-slack` package from the registry:\n\n```sh\nnpm i --save messaging-api-slack\n```\n\nor\n\n```sh\nyarn add messaging-api-slack\n```\n\nThen, create a `SlackOAuthClient` or `SlackWebhookClient` to call Slack APIs:\n\n```js\nconst { SlackOAuthClient } = require('messaging-api-slack');\n\n\u002F\u002F get access token by setup OAuth & Permissions function to your app.\n\u002F\u002F https:\u002F\u002Fapi.slack.com\u002Fdocs\u002Foauth\nconst client = new SlackOAuthClient({\n  accessToken: 'xoxb-000000000000-xxxxxxxxxxxxxxxxxxxxxxxx',\n});\n\nclient.postMessage('#random', 'Hello World').then(() => {\n  console.log('sent');\n});\n```\n\n```js\nconst { SlackWebhookClient } = require('messaging-api-slack');\n\n\u002F\u002F get webhook URL by adding a Incoming Webhook integration to your team.\n\u002F\u002F https:\u002F\u002Fmy.slack.com\u002Fservices\u002Fnew\u002Fincoming-webhook\u002F\nconst client = new SlackWebhookClient({\n  url: 'https:\u002F\u002Fhooks.slack.com\u002Fservices\u002FXXXXXXXX\u002FYYYYYYYY\u002FzzzzzZZZZZ',\n});\n\nclient.sendText('Hello World').then(() => {\n  console.log('sent');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-slack\u002FREADME.md) for more detail information.\n\n## Telegram\n\n\u003Cimg src=\"https:\u002F\u002Ftelegram.org\u002Fimg\u002Ft_logo.png\" alt=\"Telegram\" width=\"100\" \u002F>\n\nInstall `messaging-api-telegram` package from the registry:\n\n```sh\nnpm i --save messaging-api-telegram\n```\n\nor\n\n```sh\nyarn add messaging-api-telegram\n```\n\nThen, create a `TelegramClient` to call Telegram APIs:\n\n```js\nconst { TelegramClient } = require('messaging-api-telegram');\n\n\u002F\u002F get accessToken from telegram [@BotFather](https:\u002F\u002Ftelegram.me\u002FBotFather)\nconst client = new TelegramClient({\n  accessToken: '12345678:AaBbCcDdwhatever',\n});\n\nclient.sendMessage(chatId, 'Hello World').then(() => {\n  console.log('sent');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-telegram\u002FREADME.md) for more detail information.\n\n## Viber\n\n\u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F3382565\u002F31753411-0be75dfc-b456-11e7-9eea-b976d21fcc53.png\" alt=\"Viber\" width=\"100\" \u002F>\n\nInstall `messaging-api-viber` package from the registry:\n\n```sh\nnpm i --save messaging-api-viber\n```\n\nor\n\n```sh\nyarn add messaging-api-viber\n```\n\nThen, create a `ViberClient` to call Viber APIs:\n\n```js\nconst { ViberClient } = require('messaging-api-viber');\n\n\u002F\u002F get authToken from the \"edit info\" screen of your Public Account.\nconst client = new ViberClient({\n  accessToken: 'AUTH_TOKEN',\n  sender: {\n    name: 'Sender',\n  },\n});\n\nclient.sendText(userId, 'Hello World').then(() => {\n  console.log('sent');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-viber\u002FREADME.md) for more detail information.\n\n## WeChat\n\n\u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F3382565\u002F33652361-1dc854c6-daa4-11e7-997e-e1dedd818881.jpg\" alt=\"WeChat\" width=\"100\" \u002F>\n\nInstall `messaging-api-wechat` package from the registry:\n\n```sh\nnpm i --save messaging-api-wechat\n```\n\nor\n\n```sh\nyarn add messaging-api-wechat\n```\n\nThen, create a `WechatClient` to call Wechat APIs:\n\n```js\nconst { WechatClient } = require('messaging-api-wechat');\n\n\u002F\u002F get appId, appSecret from「微信公众平台-开发-基本配置」page\nconst client = new WechatClient({\n  appId: 'APP_ID',\n  appSecret: 'APP_SECRET',\n});\n\nclient.sendText(userId, 'Hello World').then(() => {\n  console.log('sent');\n});\n```\n\nCheck out [full API documentation](.\u002Fpackages\u002Fmessaging-api-wechat\u002FREADME.md) for more detail information.\n\n## Documentation\n\n- [Messenger](.\u002Fpackages\u002Fmessaging-api-messenger\u002FREADME.md)\n- [LINE](.\u002Fpackages\u002Fmessaging-api-line\u002FREADME.md)\n- [Slack](.\u002Fpackages\u002Fmessaging-api-slack\u002FREADME.md)\n- [Telegram](.\u002Fpackages\u002Fmessaging-api-telegram\u002FREADME.md)\n- [Viber](.\u002Fpackages\u002Fmessaging-api-viber\u002FREADME.md)\n- [WeChat](.\u002Fpackages\u002Fmessaging-api-wechat\u002FREADME.md)\n\n## Change Log\n\nEvery release, along with the migration instructions, is documented on the [CHANGELOG.md](.\u002FCHANGELOG.md) file.\n\n## License\n\nMIT © [Yoctol](https:\u002F\u002Fgithub.com\u002FYoctol\u002Fmessaging-apis)\n","Messaging APIs 是一个多平台消息接口的集合，旨在简化跨平台聊天机器人的开发。该项目使用 TypeScript 编写，支持 Messenger、LINE、Slack、Telegram、Viber 和微信等多个主流即时通讯平台，提供统一且相似的 API 接口，帮助开发者快速掌握并应用于不同平台的机器人构建中。它非常适合需要在多个平台上部署聊天机器人的场景，能够显著降低学习成本和开发难度。此外，该项目还与 Bottender 框架紧密集成，为开发者提供更多高级功能。",2,"2026-06-11 03:29:58","top_topic"]