Бұл жоба Telegram мессенджері үшін жазылған ботты көрсетеді. Ботта бірнеше негізгі функциялар қарастырылған:
- Қала атауын сақтау және көрсету
- Ауа райын (Visual Crossing API арқылы) тексеру
- Бірнеше тілде жұмыс істеуді қолдау (i18n)
- Пайдаланушының сұраныстарын өңдеу үшін маршрутизация (router) және күй басқару (StateMachine)
- Логтау және конфигурация файлдарымен (
.env) жұмыс істеу
- Технологиялар мен кітапханалар
- Орнату және баптау
- Параметрлер (.env)
- Ботты іске қосу
- Бот командалары
- Локализация (i18n)
- Қатысу және үлес қосу
- Лицензия
- Python 3.9+ 3.11.9 ұсынылады
- Aiogram – Telegram Bot API-мен жұмыс істеуге арналған кітапхана.
- python-dotenv –
.envфайлындағы құпия деректерді оқу үшін. - Visual Crossing – Ауа райы туралы деректерге арналған API.
- i18n – Халықаралықдандыру (локализация) жүйесі.
- logging – Лог жүргізу механизмі.
- Жаңа қалта ашыңыз (мысалы,
weather_bot). - Виртуалды орта жасаңыз және іске қосыңыз:
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
- Керекті кітапханаларды орнатыңыз:
Егер
pip install -r requirements.txt
requirements.txtфайлы жоқ болса, кітапханаларды қолмен орнатыңыз:pip install aiogram aiogram[i18n] python-dotenv
Жоба түбірінде (root) .env файлын жасаңыз. Мысалы:
BOT_TOKEN="telegram_bot_father_token_here"
WEATHER_API_KEY="visual_crossing_api_key_here"Ескерту:
.envфайлын ешқашан жалпыға қолжетімді жерге жүктемеңіз (GitHub-қа pushed, т.с.с). Ол құпия деректерді сақтау үшін қажет.
.envфайлыңыздағы параметрлердің дұрыс толтырылғанын тексеріңіз.- Төмендегі пәрмен арқылы ботты іске қосыңыз:
python main.py
- Терминалда «Bot started» сынды хабарламаны көрсеңіз, бот сәтті іске қосылды деген сөз.
| Команда | Сипаттамасы |
|---|---|
/start |
Ботты бастау, негізгі нұсқаулықты көрсету |
/set_my_city |
Өз қалаңызды орнату үшін |
/show_my_city |
Бұрын орнатылған қалаңызды көру |
/weather_in_my_city |
Орнатылған қалаңыздың ауа райын тексеру |
weather:{city} |
Кез келген қала бойынша бір реттік ауа райын тексеру |
/set_language |
Боттың тілін өзгерту (қазақша, орысша, ағылшынша) |
state және StatesGroup – бұл Aiogram-дағы пайдаланушының ботпен ара қатынасын басқару үшін қолданылатын механизм. Олар бірнеше диалогтік қадамдарды ұйымдастыруға көмектеседі.
Жоба бірнеше тілді қолдайды. i18n кітапханасы арқылы енгізілген. Тілдерді ауыстыру үшін /set_language командасын пайдаланыңыз.
Локализация файлы (мысалы, locales/) ішінде әр тілге сәйкес .json немесе .mo/.po файлдар құрып, аудармалар жазылады. Aiogram іске қосылғанда, пайдаланушының таңдауына қарай қажет файлдар жүктеледі.
- Fork жасап алыңыз немесе репозиторийді жүктеңіз.
- Қажетті өзгертулер енгізіңіз.
- Pull Request жіберіңіз немесе жобаны жеке қолданысыңызға бейімдеңіз.
Бұл жоба ашық көзі бар (open-source) жоба үлгісі ретінде жарияланған. Қосымша ақпаратты LICENSE файлынан қараңыз (егер ол репозиторийде болса).
Егер сұрақтарыңыз немесе ұсыныстарыңыз болса, еркін түрде issue немесе pull-request жіберіңіз!
Рахмет!