170 похожих чатов

Привет, у меня есть тг бот на 1тыс+ строк, кто

может посмотреть как более опытный разраб, какие то советы подкинуть?
Стек telebot psycopg2

16 ответов

6 просмотров

1. раздели на файлы 2. не используй глобальные переменные 3. разделяй код, где написан sql и тот что реализует логику

Tishka17
1. раздели на файлы 2. не используй глобальные пер...

кстати, beginners вопрос под третьим пунктом обычно понимают создание функций(методов) типа thing.get_all_users(), thing.get_user_data(id) и тд?

Notai- Автор вопроса

1. У меня есть главный файл bot.py в котором строится логика telebot 2. Есть файл bot_logic в который я вынес функции и классы которые строят внутреннюю логику приложения. 3. есть bot_config в котором все клавиатуры, списки с наименованием продуктов и тп 4. И собсна postgres.py в котором есть функции относящиеся только с работой в БД и главная функция make_query() с помощью которой я обращаюсь к БД в главном файле. Из глобальных переменных только константы Что скажешь?

Notai
1. У меня есть главный файл bot.py в котором строи...

1. клавиатуры не тянут на конфиг, неудачное имя 2. make_query звучит сомнительно, сделай много разных функций, которые делают кокнретные вещи.

Notai- Автор вопроса
Tishka17
1. клавиатуры не тянут на конфиг, неудачное имя 2....

Клавиатуры вынести в keyboards.py например? а make_query() вот таким образом работает - def make_query(query, fetch=None): connection = psycopg2.connect(user='postgres', password='5432', host='127.0.0.1', port=5432, database='dairyproject') with connection.cursor() as cursor: cursor.execute(query) if fetch == 'one': return cursor.fetchone() elif fetch == 'all': return cursor.fetchall() connection.commit() она вызывается около 70 раз по всему проекты в двух файлах (в основном в главном) не знаю как сделать тогда

Notai
Клавиатуры вынести в keyboards.py например? а make...

а вот что вместо глобалов, магические константы

Notai
Клавиатуры вынести в keyboards.py например? а make...

у тебя адрес БД и пароли должны браться из конфигурационного файла/переменных окружения, а не валяться в коде

Notai
Клавиатуры вынести в keyboards.py например? а make...

откуда ты спер этот код? у латанда?

Notai- Автор вопроса
Tishka17
у тебя адрес БД и пароли должны браться из конфигу...

Данные бд тянутся с postgres_config.py там как раз данные для коннекта, и мои внутренние заметки

Notai- Автор вопроса
Tishka17
откуда ты спер этот код? у латанда?

Сам написал 😂 не понимаю о чем ты

Notai
Данные бд тянутся с postgres_config.py там как раз...

то есть глобальные переменные все таки?

Notai- Автор вопроса
Tishka17
то есть глобальные переменные все таки?

Мной инициализированных нет, если ты об этом

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
19
А что ты вообще делаешь ?
Yesgoter
13
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
А какие у этого try практические плюсы перед eval?
Oleg Volkov
41
Карта сайта