diff --git a/.gitignore b/.gitignore
index d558a03..940489f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
-venv/
-.env
\ No newline at end of file
+.venv/
+.env
+.idea/
diff --git a/Readme.md b/Readme.md
index e9af6cc..c5953f6 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,3 +1,35 @@
## Телеграм бот для преобразования текста в QR код
-Присылаете боту текст, в ответ получаете QR код и небольшую информацию о тексте
\ No newline at end of file
+Присылаете боту текст, в ответ получаете QR код и небольшую информацию о тексте
+
+## Инструкция по запуску
+- Создать в директории на удалённом сервере файл docker-compose.yaml
+```bash
+sudo nano docker-compose.yaml
+```
+- В него написать следующий текст:
+```txt
+services:
+ bot_qr:
+ image: iliamiheev/bot_qr:latest
+ container_name: bot_qr
+ env_file:
+ - .env
+```
+Далее Ctrl + O, Enter, Ctrl + X
+- В этой же директории создать файл с переменными окружения
+```bash
+sudo nano .env
+```
+- В него занести единственную переменную — токен от телеграм бота
+```txt
+API_TOKEN={{ВАШ ТОКЕН}}
+```
+- Все приготовления завершены, запустить бота
+```bash
+sudo docker compose up -d
+```
+- Теперь на машине должен быть запущен контейнер с именем bot_qr. Проверить это можно введя
+```bash
+sudo docker ps
+```
diff --git a/bot_qr.py b/bot_qr.py
index 9281dc6..62afa3f 100644
--- a/bot_qr.py
+++ b/bot_qr.py
@@ -15,13 +15,17 @@ if API_TOKEN is None:
bot = telebot.TeleBot(API_TOKEN)
+photoName = None
@bot.message_handler(commands=['start'])
def start(mess):
- bot.send_message(mess.chat.id, 'Привет. Я генерирую QR коды. Отправь мне текст и я его преобразую')
+ bot.send_message(mess.chat.id, '''Привет. Я генерирую QR коды. Отправь мне текст и я его преобразую.
+Код проекта можно посмотреть в репозитории на GitHub''', parse_mode='html')
-def gen_qr(text):
+def gen_qr(text, id):
+ global photoName
+ photoName = f"qrcode_{id}.png"
# Создаем экземпляр класса QRCode
qr = qrcode.QRCode(
version=1,
@@ -35,17 +39,17 @@ def gen_qr(text):
# Создаем изображение QR-кода
img = qr.make_image(fill_color="black", back_color="white")
# Сохраняем изображение QR-кода
- img.save("qrcode.png")
+ img.save(photoName)
@bot.message_handler(content_types=['text'])
def generate_qr_code(mess):
- gen_qr(mess.text)
+ gen_qr(mess.text, mess.from_user.id)
text = f'Сообщение: {mess.text}\nСлов в сообщении: {len(mess.text.split())}\nСимволов в сообщении: {len(mess.text)}'
- with open('qrcode.png', 'rb') as qr_photo:
+ with open(photoName, 'rb') as qr_photo:
bot.send_photo(mess.chat.id, qr_photo)
bot.send_message(mess.chat.id, text, parse_mode='html')
- remove('qrcode.png')
+ remove(photoName)
print('Бот запущен')
bot.polling()