Skip to content

AI chatbot that supports both Telegram, Discord, Slack, Lark(飞书),钉钉, 企业微信, QQ, 微信, compatible with various LLMs including OpenAI, Gemini, DeepSeek, Doubao, and OpenRouter. It offers intelligent conversation, image generation, video creation, and more. Works seamlessly in both private chats and group settings.

License

Notifications You must be signed in to change notification settings

yincongcyincong/MuseBot

Repository files navigation

group

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

QQ群:1031411708

MuseBot

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. 中文文档

Usage Video

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

🚀 Features

  • 🤖 AI Responses: Uses DeepSeek 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 deepseek, see doc.
  • 🎺 Support Voice: use voice to communicate with deepseek, 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

📸 Support Platform

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
🌟 Gemini Google
💬 ChatGPT OpenAI
🐦 Doubao ByteDance
🧠 DeepSeek DeepSeek
🌐 OpenRouter OpenRouter

🤖 Text Example

aa92b3c9580da6926a48fc1fc5c37c03 aa92b3c9580da6926a48fc1fc5c37c03

🎺 Multimodal Example

aa92b3c9580da6926a48fc1fc5c37c03 aa92b3c9580da6926a48fc1fc5c37c03

📌 Requirements

📥 Installation

  1. Clone the repository

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

     go mod tidy
  3. Set up environment variables

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

🚀 Usage

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

⚙️ Configuration

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 -
VOL_TOKEN Vol Token doc -
CUSTOM_URL custom deepseek url https://api.deepseek.com/
TYPE deepseek/openai/gemini/openrouter/vol 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 create photo or video vol
MAX_QA_PAIR how many question and answer pairs as context 15
CHARACTER background character -

CUSTOM_URL

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

DEEPSEEK_TYPE

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

DB_TYPE

support sqlite3 or mysql

DB_CONF

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.

LANG

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

other config

deepseek_conf photo_conf video_conf audio_conf

Command

/clear

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

/retry

retry last question.

/mode

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

/balance

aa92b3c9580da6926a48fc1fc5c37c03

/state

calculate one user token usage.
aa92b3c9580da6926a48fc1fc5c37c03

/photo /edit_photo

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

/video

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

/chat

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

/help

aa92b3c9580da6926a48fc1fc5c37c03

/task

multi agent communicate with each other!

/change_photo

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

/rec_photo

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

Deployment

Deploy with Docker

  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

Contributing

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

License

MIT License © 2025 jack yin

About

AI chatbot that supports both Telegram, Discord, Slack, Lark(飞书),钉钉, 企业微信, QQ, 微信, compatible with various LLMs including OpenAI, Gemini, DeepSeek, Doubao, and OpenRouter. It offers intelligent conversation, image generation, video creation, and more. Works seamlessly in both private chats and group settings.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published