diff --git a/requirements.txt b/requirements.txt index f378fb2..1c1b568 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/bot_qr.py b/src/bot_qr.py similarity index 56% rename from bot_qr.py rename to src/bot_qr.py index 62afa3f..27f0c90 100644 --- a/bot_qr.py +++ b/src/bot_qr.py @@ -1,16 +1,21 @@ from dotenv import load_dotenv from sys import exit as sexit -from os import remove, getenv +import os +import json import telebot import qrcode -# Загрузить переменные из файла .env +# Загрузить переменные из файла .env и language.json load_dotenv() +with open('./src/language.json', 'r', encoding='utf-8') as file: + language = json.load(file) + # Получить значение переменной -API_TOKEN = getenv("API_TOKEN") -if API_TOKEN is None: - print('Отсутствует токен телеграм бота. Загрузи токен в переменные окружения и бот сможет начать работу') +API_TOKEN = os.getenv("API_TOKEN") + +if API_TOKEN is None or API_TOKEN == "": + print(language['no_token']) sexit(1) # Завершаем программу с кодом ошибки 1 @@ -19,8 +24,7 @@ photoName = None @bot.message_handler(commands=['start']) def start(mess): - bot.send_message(mess.chat.id, '''Привет. Я генерирую QR коды. Отправь мне текст и я его преобразую. -Код проекта можно посмотреть в репозитории на GitHub''', parse_mode='html') + bot.send_message(mess.chat.id, language['start'], parse_mode='html') def gen_qr(text, id): @@ -45,12 +49,16 @@ def gen_qr(text, id): @bot.message_handler(content_types=['text']) def generate_qr_code(mess): gen_qr(mess.text, mess.from_user.id) - text = f'Сообщение: {mess.text}\nСлов в сообщении: {len(mess.text.split())}\nСимволов в сообщении: {len(mess.text)}' + text = language['qr_info'].format( + text=mess.text, + words=len(mess.text.split()), + chars=len(mess.text) + ) 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(photoName) + os.remove(photoName) -print('Бот запущен') +print(language['bot_started']) bot.polling() -print('Бот отключён') \ No newline at end of file +print(language['bot_stopped']) diff --git a/src/language.json b/src/language.json new file mode 100644 index 0000000..3d34b55 --- /dev/null +++ b/src/language.json @@ -0,0 +1,7 @@ +{ + "start": "Привет. Я генерирую QR коды. Отправь мне текст и я его преобразую. Код проекта можно посмотреть в репозитории на GitHub", + "no_token": "Отсутствует токен телеграм бота. Загрузи токен в переменные окружения и бот сможет начать работу", + "bot_started": "Бот запущен", + "bot_stopped": "Бот отключён", + "qr_info": "Сообщение: {text}\nСлов в сообщении: {words}\nСимволов в сообщении: {chars}" +} \ No newline at end of file