Show HN: MuseBot–An AI Chatbot for Telegram, Discord, Slack, Lark, QQ, and More

13 hours ago 1

telegram-group: https://t.me/+WtaMcDpaMOlhZTE1 , or you can have a try robot Guanwushan_bot. every body have 10000 token to try this bot, please give me a star!

QQ群:1031411708

This repository provides a Telegram, Disccord bot built with Golang that integrates with LLM API to provide AI-powered responses. The bot supports openai deepseek gemini openrouter LLMs, making interactions feel more natural and dynamic. 中文文档 Китайская документация

easy usage: https://www.youtube.com/watch?v=4UHoKRMfNZg
deepseek: https://www.youtube.com/watch?v=kPtNdLjKVn0
gemini: https://www.youtube.com/watch?v=7mV9RYvdE6I
chatgpt: https://www.youtube.com/watch?v=G_DZYMvd5Ug

  • 🤖 AI Responses: Uses LLM API for chatbot replies.
  • Streaming Output: Sends responses in real-time to improve user experience.
  • 🏗 Easy Deployment: Run locally or deploy to a cloud server.
  • 👀 Identify Image: use image to communicate with LLM, see doc.
  • 🎺 Support Voice: use voice to communicate with LLM, see doc.
  • 🐂 Function Call: transform mcp protocol to function call, see doc.
  • 🌊 RAG: Support Rag to fill context, see doc.
  • 🌞 AdminPlatform: Use platform to manage MuseBot, see doc.
  • 🌛 Register: With the service registration module, robot instances can be automatically registered to the registration center doc
  • 🌈 Metrics: Support Metrics for monitoring, see doc.
Platform Supported Description Docs / Links
🟦 Telegram Supports Telegram bot (go-telegram-bot-api based, handles commands, inline buttons, ForceReply, etc.) Docs
🌈 Discord Supports Discord bot Docs
🌛 Web API Provides HTTP/Web API for interacting with LLM (great for custom frontends/backends) Docs
🔷 Slack Supports Slack (Socket Mode / Events API / Block Kit interactions) Docs
🟣 Lark (Feishu) Supports Lark long connection & message handling (based on larksuite SDK, with image/audio download & message update) Docs
🆙 DingDing Supports Dingding long connection Docs
⚡️ Work WeChat Support Work WeChat http callback to trigger LLM Docs
🌞 QQ Support QQ http callback to trigger LLM Docs
🚇 Wechat Support Wechat http callback to trigger LLM Docs

Supported Large Language Models

Model Provider Text Generation Image Generation Video Generation Recognize Photo TTS Link
🌟 Gemini Google doc
💬 ChatGPT OpenAI doc
🐦 Doubao ByteDance doc
🐦 Qwen Aliyun doc
🧠 DeepSeek DeepSeek doc
⚙️ 302.AI 302.AI doc
🌐 OpenRouter OpenRouter doc
aa92b3c9580da6926a48fc1fc5c37c03 aa92b3c9580da6926a48fc1fc5c37c03 aa92b3c9580da6926a48fc1fc5c37c03 aa92b3c9580da6926a48fc1fc5c37c03
  1. Clone the repository

    git clone https://github.com/yincongcyincong/MuseBot.git cd MuseBot
  2. Install dependencies

  3. Set up environment variables

    export TELEGRAM_BOT_TOKEN="your_telegram_bot_token" export DEEPSEEK_TOKEN="your_deepseek_api_key"

Run the bot locally:

go run main.go -telegram_bot_token=telegram-bot-token -deepseek_token=deepseek-auth-token

Use docker

docker pull jackyin0822/musebot:latest docker run -d -v /home/user/data:/app/data -e TELEGRAM_BOT_TOKEN="telegram-bot-token" -e DEEPSEEK_TOKEN="deepseek-auth-token" --name my-telegram-bot jackyin0822/MuseBot:latest
ALIYUN: docker pull crpi-i1dsvpjijxpgjgbv.cn-hangzhou.personal.cr.aliyuncs.com/jackyin0822/musebot

command: (doc)[https://github.com/yincongcyincong/MuseBot/blob/main/static/doc/param_conf.md]

You can configure the bot via environment variables:

Variable Name Description Default Value
TELEGRAM_BOT_TOKEN (required) Your Telegram bot token -
DEEPSEEK_TOKEN (required) DeepSeek Api Key -
OPENAI_TOKEN Open AI Token -
GEMINI_TOKEN Gemini Token -
OPEN_ROUTER_TOKEN OpenRouter Token doc -
ALIYUN_TOKEN Aliyun Token doc -
AI_302_TOKEN 302-AI token doc -
VOL_TOKEN Vol Token doc -
CUSTOM_URL custom deepseek url https://api.deepseek.com/
TYPE deepseek/openai/gemini/openrouter/vol/302-ai/ollama deepseek
VOLC_AK volcengine photo model ak doc -
VOLC_SK volcengine photo model sk doc -
Ernie_AK ernie ak doc -
Ernie_SK ernie sk doc -
DB_TYPE sqlite3 / mysql sqlite3
DB_CONF ./data/telegram_bot.db / root:admin@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local ./data/telegram_bot.db
ALLOWED_USER_IDS user id, only these users can use bot, using "," splite. empty means all use can use it. 0 means all user is banned -
ALLOWED_GROUP_IDS chat id, only these chat can use bot, using "," splite. empty means all group can use it. 0 means all group is banned -
DEEPSEEK_PROXY deepseek proxy -
TELEGRAM_PROXY telegram proxy -
LANG en / zh en
TOKEN_PER_USER The tokens that each user can use 10000
ADMIN_USER_IDS admin user, can use some admin commands -
NEED_AT_BOT is it necessary to trigger an at robot in the group false
MAX_USER_CHAT max existing chat per user 2
VIDEO_TOKEN volcengine Api keydoc -
HTTP_PORT http server port 36060
USE_TOOLS if normal conversation use function call tools or not false
CA_FILE http server ca file -
CRT_FILE http server crt file -
KEY_FILE http server key file -
MEDIA_TYPE openai/gemini/vol/openrouter/aliyun/302-ai create photo or video vol
MAX_QA_PAIR how many question and answer pairs as context 15
CHARACTER background character -

If you are using a self-deployed DeepSeek, you can set CUSTOM_URL to route requests to your self-deployed DeepSeek.

deepseek: directly use deepseek service. but it's not very stable others: see doc

support sqlite3 or mysql

if DB_TYPE is sqlite3, give a file path, such as ./data/telegram_bot.db if DB_TYPE is mysql, give a mysql link, such as root:admin@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local, database must be created.

choose a language for bot, English (en), Chinese (zh), Russian (ru).

deepseek_conf
photo_conf
video_conf
audio_conf

clear all of your communication record with deepseek. this record use for helping deepseek to understand the context.

retry last question.

chose deepseek mode, include chat, coder, reasoner chat and coder means DeepSeek-V3, reasoner means DeepSeek-R1.
aa92b3c9580da6926a48fc1fc5c37c03

aa92b3c9580da6926a48fc1fc5c37c03

calculate one user token usage.
aa92b3c9580da6926a48fc1fc5c37c03

using volcengine photo model create photo, deepseek don't support to create photo now. VOLC_AK and VOLC_SK is necessary.doc
aa92b3c9580da6926a48fc1fc5c37c03

/edit_photo will update you photo base on your description.
aa92b3c9580da6926a48fc1fc5c37c03

create video. DEEPSEEK_TOKEN must be volcengine Api key. deepseek don't support to create video now. doc aa92b3c9580da6926a48fc1fc5c37c03

allows the bot to chat through /chat command in groups, without the bot being set as admin of the group.
aa92b3c9580da6926a48fc1fc5c37c03

aa92b3c9580da6926a48fc1fc5c37c03

multi agent communicate with each other!

only for tencent app (wechat, qq, work wechat)
change photo base on your prompt.
aa92b3c9580da6926a48fc1fc5c37c03

only for tencent app (wechat, qq, work wechat)
recognize photo base on your prompt.
aa92b3c9580da6926a48fc1fc5c37c03

only for tencent app (wechat, qq, work wechat) save your voice to pc. aa92b3c9580da6926a48fc1fc5c37c03

  1. Build the Docker image

    docker build -t deepseek-telegram-bot .
  2. Run the container

    docker run -d -v /home/user/xxx/data:/app/data -e TELEGRAM_BOT_TOKEN="telegram-bot-token" -e DEEPSEEK_TOKEN="deepseek-auth-token" --name my-telegram-bot MuseBot

Feel free to submit issues and pull requests to improve this bot. 🚀

MIT License © 2025 jack yin

Read Entire Article