BingChatBot icon indicating copy to clipboard operation
BingChatBot copied to clipboard

Bing chat Telegram bot using Python and unofficial EdgeGPT API

Language : English 简体中文

Description

Bing chat Telegram bot implemented in Python that utilizes unofficial EdgeChat API

Known issues

  • If Microsoft changes the message count in the conversation, the Messages In Conversation will be 5 until the cookie is updated.

Screenshot

Command list

help - Show help message
reset - Reset conversation
switch - Switch conversation style ( creative , balanced , precise )

Setup

Requirements

  • python 3.8+

  • A Microsoft Account with early access to http://bing.com/chat (Required)

    Checking access (Required)

  • Install the latest version of Microsoft Edge

  • Open http://bing.com/chat

  • If you see a chat feature, you are good to go

Getting authentication (Required)

  • Install the cookie editor extension for Chrome and Edge or Firefox
  • Go to bing.com
  • Open the extension
  • Click "Export" on the bottom right (This saves your cookies to clipboard)
  • Paste your cookies into a file cookies.json. The format of json refers to cookie.exaple.json(The middle field is omitted)

Install requirements

pip install -r requirements.txt

Set environment variables

Required variable

export BOT_TOKEN='REPLACE YOUR BOT TOKEN'
export ALLOWED_USER_IDS='XXXXXXXXX,XXXXXXXX,XXXXXXXX'

Optional variable

#Default value is './cookie.json'
export COOKIE_PATH='xxxxxx' 

#Default value is False , if you set True , Anyone can use the robot
export PUBLIC_MODE=False

:warning:Please set ALLOWED_USER_IDS even if PUBLIC_MODE is True , because only ALLOWED_USER_IDS can switch the conversation style

If you want to add the bot to the group chat , please set these variables and give the bot admin permission

export BOT_ID='@YOURBOTID' #DON'T forget @
export GROUP_MODE=False #Default value is False

If GROUP_MODE is True , The bot will reply to all messages in the group chat , else the bot will only reply to @ messages in the group chat. Private chat will always reply

Run

python bing.py