2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00
2024-10-23 22:06:56 +02:00

Go Telegram Multibot

A scalable, multi-bot solution for Telegram using Go, GORM, and the Anthropic API.

Design Considerations

  • AI-powered
  • Supports multiple bot profiles
  • Uses SQLite for persistence
  • Implements rate limiting and user management
  • Modular architecture
  • Comprehensive unit tests

Usage

  1. Clone the repository or install using go get:

    • Option 1: Clone the repository

      git clone https://github.com/HugeFrog24/go-telegram-bot.git
      
    • Option 2: Install using go get

      go get -u github.com/HugeFrog24/go-telegram-bot
      
    • Navigate to the project directory:

      cd go-telegram-bot
      
  2. Copy the default config template and edit it:

    cp config/default.json config/config-mybot.json
    

    Replace config-mybot.json with the name of your bot.

    nano config/config-mybot.json
    

    You can set up as many bots as you want. Just copy the template and edit the parameters.

Important

Keep your config files secret and do not commit them to version control.

  1. Build the application:
    go build -o telegram-bot
    

Systemd Unit Setup

To enable the bot to start automatically on system boot and run in the background, set up a systemd unit.

  1. Copy the systemd unit template and edit it:

    sudo cp examples/systemd/telegram-bot.service /etc/systemd/system/telegram-bot.service
    

    Edit the service file:

    nano /etc/systemd/system/telegram-bot.service
    

    Adjust the following parameters:

    • WorkingDirectory
    • ExecStart
    • User
  2. Enable and start the service:

    sudo systemctl daemon-reload
    
    sudo systemctl enable telegram-bot.service
    
    sudo systemctl start telegram-bot.service
    
  3. Check the status:

    sudo systemctl status telegram-bot
    

For more details on the systemd setup, refer to the demo service file.

Logs

View logs using journalctl:

journalctl -u telegram-bot

Follow logs:

journalctl -u telegram-bot -f

View errors:

journalctl -u telegram-bot -p err
Description
No description provided
Readme 144 KiB
Languages
Go 98.7%
Dockerfile 1.3%