Code Monkey home page Code Monkey logo

claude-telegram-bot's Introduction

Claude & Bard Telegram Bot

This is a Telegram bot that intereacts with Anthropic Claude and Google Bard.

If you only have access to one of the models, you can still continue to use this bot. Some functions may be limited due to lack of authorization for the other model.

Features

  • Support of official Claude API and reverse engineered Bard API
  • Support of partial Markdown formatting
  • Send extremely long inputs in segments
  • Resend the question and regenerate the answer
  • Private chat, group chat, independent chat session
  • Claude only:
    • Streaming output
    • Modify model's version and temperature
  • Bard only:
    • Toogle between different draft responses
    • View reference links and Google Search keywords
    • View images from Google Search
Claude Bard
✅ Streaming output
❌ Access to the Internet
❌ Streaming output
✅ Access to the Internet
demo_claude

Getting Started

Deployment (Local)

  1. Clone this repository.

  2. Configure the bot in the following two ways:

    1. Create config/config.yml and fill in the information with reference to config/config.example.yml.

    2. or Set environment variables:

      export BOT_TOKEN="your bot token"
      export USER_IDS="user_id1, user_id2,..."
      export CLAUDE_API="your claude api" # ignore it if you don't want to use claude
      export BARD_API="__Secure-1PSID, __Secure-1PSIDTS" # ignore it if you don't want to use bard
  3. Start the bot in the following two ways:

    1. Docker (with docker engine pre-installed):

      docker compose up
    2. or Scripts (with python >= 3.8 and python3-venv pre-installed):

      # create the virtual environment
      bash scripts/setup.sh
      
      # start the bot
      bash scripts/run.sh

Usage

Commands

  • /id: get your chat identifier
  • /start: start the bot and get help message
  • /help: get help message
  • /reset: reset the chat history
  • /settings: show Claude & Bard settings
  • /mode: switch between Claude and Bard
  • /model NAME: change model (Claude only)
    • Options: claude-2, claude-instant-1
  • /temp VALUE: set temperature (Claude only)
    • Range: float in [0, 1]
    • Impact: amount of randomness injected into the response
    • Suggestion: temp closer to 0 for analytical / multiple choice, and temp closer to 1 for creative and generative tasks
  • /cutoff VALUE: adjust cutoff (Claude only)
    • Range: int > 0
    • Impact:: smaller cutoff indicates higher frequency of streaming output
    • Suggestion: 50 for private chat, 150 for group chat
  • /seg: send messages in segments, example below:
    1. Send /seg first
    2. Paste a long text and send (or send a series of text in segments)
    3. Input your other questions and send
    4. Send /seg again
    5. Bot will respond and you can continue the conversation
  • /retry: regenerate the answer. Use /retry TEXT to modify your last input.

Others

  • 📝 View other drafts: click to see other drafts (Bard Only)
  • 🔍 Google it: click to view the search results (Bard Only)

Acknowledgements

This code is based on Lakr233's ChatBot-TGLM6B.

The client library for Claude API is anthropics's anthropic-sdk-python.

The client library for Bard API is acheong08's Bard.

Huge thanks to them!!! 🥰🥰🥰

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.