saloon_bot - Telegram bot Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π»ΠΎΠ½ ΠΊΡΠ°ΡΠΎΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Google Sheets
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ Π±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π»ΠΎΠ½ ΠΊΡΠ°ΡΠΎΡΡ. ΠΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Google Sheets Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ ΠΈ ΠΈΡ Π·Π°ΠΏΠΈΡΡΡ .
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ: https://docs.google.com/spreadsheets/d/1VmucIj0jhJcIDv3tkfpXtlLoDRh4Zhoa8DuCTzOuhuQ/edit?usp=sharing
telebot documentation: https://github.com/eternnoir/pyTelegramBotAPI
gspread documentation: https://docs.gspread.org/en/v5.7.2/
git clone https://github.com/frolovelo/saloon_bot.git
Windows
pip install -r requirements.txt
macOS/Linux:
pip3 install -r requirements.txt
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Windows):
\venv\Scripts\activate
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (macOS/Linux):
source venv/bin/activate
TOKEN = "YOUR_BOT_TOKEN"
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ»ΡΡΠ°:
{
"type": "service_account",
"project_id": "beautysaloon",
"private_key_id": "fGEFEfeEWR343253235",
"private_key": "-----BEGIN PRIVATE KEY-----\n",
"client_email": "my-account-service@beautysaloon.iam.gserviceaccount.com",
"client_id": "10275785785778592",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-account-service",
"universe_domain": "googleapis.com"
}
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π² google_sheet.py
# ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° json ΠΊΠ»ΡΡΠ°
creds = Credentials.from_service_account_file('YOUR_NAME_KEY.json', scopes=myscope)
client_main = gspread.Client(creds)
ΠΠ»Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°Π±Π»ΠΈΡΡ: https://docs.google.com/spreadsheets/d/1VmucIj0jhJcIDv3tkfpXtlLoDRh4Zhoa8DuCTzOuhuQ/edit?usp=sharing
Π‘ΠΌΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ²ΠΎΠΈ Π² google_sheet.py
# ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
sh = client_main.open('YOUR_TABLE_NAME')
# Π‘ΡΡΠ°Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
IGNOR_WORKSHEETS = ['Π Π°Π±ΠΎΡΠ½ΠΈΠΊΠΈ']
# Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠ°Π±Π»ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ
NAME_SHEET_WORKERS = 'Π Π°Π±ΠΎΡΠ½ΠΈΠΊΠΈ'
# ΠΠ°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ(ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΡ Π²Π°ΠΆΠ½Π°!)
NAME_COL_SERVICE = 'Π£ΡΠ»ΡΠ³Π°'
NAME_COL_MASTER = 'ΠΠ°ΡΡΠ΅Ρ'
sh = client_main.open('YOUR_TABLE_NAME')
- ΠΈΠΌΡ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡIGNOR_WORKSHEETS
- ΠΈΠΌΠ΅Π½Π° Π»ΠΈΡΡΠΎΠ², ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΡΠΎΡΡΡ
ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π»ΠΈΡΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈNAME_SHEET_WORKERS
- ΠΈΠΌΡ Π»ΠΈΡΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ»ΡΠ³Π°ΠΌΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈNAME_COL_SERVICE
ΠΈ NAME_COL_MASTER
- Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅NAME_SHEET_WORKERS
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΡΠΏΠΈΡΠΊΠ° ΠΌΠ°ΡΡΠ΅ΡΠΎΠ² ΠΈ ΡΡΠ»ΡΠ³;
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Issue ΠΈΠ»ΠΈ Pull Request Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
google_sheet.py
clear-dict.py
purgy - Telebot ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ