Skip to content

@ConnectFourOnlineBot - bot for playing Connect Four game with a friend using MiniApp.

License

Notifications You must be signed in to change notification settings

Leroy-bit/connect-four-online

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://t.me/ConnectFourOnlineBot

Introduction

Welcome to the @ConnectFourOnlineBot. The bot is developed to play the game Connect Four game with a friend in a private chat.

The server side of the bot is written in Python using the aiohttp library and the aiogram library for the bot itself. The client side is written in Vue.js and uses the Vite.

Installation

Requirements:

  • Python - 3.10 and higher
  • Node js - 18.18.0 and higher
git clone https://github.com/Leroy-bit/connect-four-online
cd connect-four-online
pip3.10 install -r server/requirements.txt && cd client && npm install && npm run build && cd ..

Configuration

Setup bot in BotFather

  • Create a new bot using /newbot command, and enable inline mode for it, write the bot token which you received in BOT_TOKEN variable in config file
  • Create a new Mini App for this bot app using /newapp command, write miniapp name you've created in MINI_APP_NAME variable in config file

Setup config file

  • BASE_URL - domain on which the bot is hosted, should start with https://
  • BOT_TOKEN - bot token
  • WEBHOOK_SECRET_TOKEN - secret token using for webhook, can be any string
  • MINI_APP_NAME - mini app name that you created in BotFather (t.me/bot_name/MINI_APP_NAME)
  • SSL_CERT - path to ssl certificate, leave empty if you want to run in http mode (or if you will use ngrok)
  • SSL_PRIVATE_KEY - path to ssl private key, leave empty if you want to run in http mode (or if you will use ngrok)
  • LOG_LEVEL - log level, can be TRACE, DEBUG, INFO, WARNING, ERROR, CRITICAL. More information here

Running the application

Running with ngrok

Requirements:

You need to open two terminals and run the following commands in them

First terminal

python3.10 server/main.py

Second terminal

ngrok http --domain {your_ngrok_domain_name} 80