Skip to content

project_2#1

Open
kibredo wants to merge 21 commits intomainfrom
pull_requset_1
Open

project_2#1
kibredo wants to merge 21 commits intomainfrom
pull_requset_1

Conversation

@kibredo
Copy link
Copy Markdown
Owner

@kibredo kibredo commented Nov 26, 2023

No description provided.

Copy link
Copy Markdown
Collaborator

@arncpp arncpp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • добавь readme, опиши там бота и туториал по использованию, также напиши его ник в ТГ
  • добавь команду help, которая будет выводить информацию о боте и списке имеющихся команд с их описанием
  • напиши мне, как все исправишь и сможешь запустить бота для теста
  • Сделай красивую файловую систему: оставь в корне проекта README и сделай файл с запуском проекта main.py (запуск бота)
project/
├── src/
│   ├── module.py
│   └── ...
└── README.md
└── start.py

Comment thread data.py Outdated
@@ -0,0 +1,45 @@
schedule = dict()
SECRET_TOKEN = '6671538505:AAHOw_DrZGYUr-7HmdjgWkxO1oL-uyXbA04'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Токен - секретная информация. Чтобы сохранить секретные данные безопасно, храни токен в переменных окружения.
Как это сделать, 2 варианта:

  1. Задай переменную окружения с помощью командной строки:
    Для Linux и macOS:
    export BOT_TOKEN=your-token-here
    Для Windows:
    setx BOT_TOKEN your-token-here

  2. В Pycharm
    Run/Debug configurations -> Edit configuration -> Environmental variables -> Edit environmental variables -> Add -> Ok -> Ok

image image image

Как использовать созданную переменную окружения:

В коде пишешь:

import os

bot = telebot.TeleBot(os.getenv("BOT_TOKEN"))

Comment thread data.py Outdated
SECRET_TOKEN = '6671538505:AAHOw_DrZGYUr-7HmdjgWkxO1oL-uyXbA04'
API_URL = 'https://api.telegram.org/bot'
UTC_OFFSET = 5
URL = '/bot' + SECRET_TOKEN + '/sendMessage'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fstrings

Comment thread thing.py Outdated
Comment on lines +1 to +6
from data import SECRET_TOKEN
from data import API_URL
from utils import send_to_telegram
import queue
import time
import requests
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

импорты делятся на несколько блоков, которые нужно разделять:

  1. Стандартные библиотеки Python:
    Сюда входят все встроенные модули и пакеты, такие как os, sys, datetime, logging и т.д.
  2. Сторонние библиотеки (third-party):
    Импорты из библиотек, установленных через менеджеры пакетов, например, pip. Это могут быть библиотеки, такие как numpy, pandas, requests и т.д.
  3. Локальные импорты (модули текущего приложения или проекта):
    Импорты из модулей, написанных в рамках текущего проекта.

Порядок импортов выглядит соответственно так:

import os
import sys

import numpy as np
import pandas as pd

import a_my_module
import b_my_module
from a_my_module import MyClass

Импорты в блоках должны быть в алфавитном порядке.

Comment thread utils.py Outdated
Comment on lines +1 to +12
from data import schedule
from data import SECRET_TOKEN
from data import API_URL
from data import UTC_OFFSET
from data import URL
from data import HEADER
from data import DATA
from datetime import datetime
import http.client
import queue
import time
import requests
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

поправить импорты

@kibredo kibredo requested a review from arncpp November 29, 2023 21:04
Copy link
Copy Markdown
Collaborator

@arncpp arncpp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

падает с ошибкой

   if updates['result']:
       ~~~~~~~^^^^^^^^^^
KeyError: 'result'

в файле thing.py

Comment thread main.py
@kibredo kibredo requested a review from arncpp December 2, 2023 17:34
Copy link
Copy Markdown
Collaborator

@arncpp arncpp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

при запуске падает с ошибкой

Traceback (most recent call last):
  File "/Users/arncpp/projects/python2/main.py", line 4, in <module>
    src.thing.main()
  File "/Users/arncpp/projects/python2/src/thing.py", line 25, in main
    updates = requests.get(f'{API_URL}{SECRET_TOKEN}/getUpdates?offset={offset + 1}&timeout={timeout}').json()
                                                                        ^^^^^^
UnboundLocalError: cannot access local variable 'offset' where it is not associated with a value

отдебажь и залей рабочую версию

@kibredo kibredo requested a review from arncpp December 4, 2023 20:16
Comment thread src/data.py Outdated
Comment thread src/utils.py Outdated
Comment on lines +5 to +8
from src.data import DATA
from src.data import HEADER
from src.data import schedule
from src.data import URL
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

можно в одну строку через ,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants