-
Notifications
You must be signed in to change notification settings - Fork 0
/
telegram_bot.py
64 lines (48 loc) · 1.75 KB
/
telegram_bot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import time
import requests
import random
import telebot
from PIL import Image
from config import token
import numpy as np
from telebot import types
from io import BytesIO
from augment import augmentReality
bot_token = token
bot = telebot.TeleBot(bot_token)
filename = 'usr_board.jpg'
@bot.message_handler(commands=['help', 'start'])
def send_info(message):
if message.text == '/start':
bot.send_message(message.from_user.id, 'Привіт!\nЯ вмію перемагати в шахи 😋\nНадішли мені фотографію шахової дошки.')
elif message.text == '/help':
# bot.send_photo(message.from_user.id, img)
bot.send_message(message.from_user.id, 'Надішли мені зверхнє фото шахової дошки.')
@bot.message_handler(content_types=["photo"])
def send_ARed_photo(message):
# get file id
file_id = message.json['photo'][-1]['file_id']
im_file = bot.get_file(file_id)
# download and save file
img = requests.get('https://api.telegram.org/file/bot%s/%s' % (bot_token, im_file.file_path))
with open(filename, 'wb') as f:
f.write(img.content)
try:
modifiedImage = augmentReality(filename)
# getting image bytes
buf = BytesIO()
modifiedImage.save(buf, 'jpeg')
buf.seek(0)
image_bytes = buf.read()
buf.close()
bot.send_photo(message.from_user.id, image_bytes)
except Exception as e:
print(e)
@bot.message_handler(content_types=["sticker", "pinned_message", "audio"])
def send_info(message):
bot.send_message(message.from_user.id, 'Ха-ха😄 Дуже сішно!')
while True:
try:
bot.polling()
except Exception:
time.sleep(10)