pack to package

This commit is contained in:
Rykov7
2022-08-21 14:48:14 +03:00
parent eae8735797
commit d76da989c3
7 changed files with 41 additions and 37 deletions
View File
+18 -19
View File
@@ -1,21 +1,21 @@
import telebot import telebot
from me import get_me from telebot import util
from flask import Flask, request, abort from flask import Flask, request, abort
from query_log import logging
from datetime import datetime as dt from datetime import datetime as dt
from os.path import exists from os.path import exists
import os
import csv import csv
from config import bot, ADMIN_ID from .query_log import logging
import reminder from .me import get_me
from .config import bot, ADMIN_ID, TOKEN
from . import reminder
# https://core.telegram.org/bots/api Telegram Bot API # https://core.telegram.org/bots/api Telegram Bot API
app = Flask(__name__) app = Flask(__name__)
print("LutzBot is running!") print(">>> LutzBot is running! <<<")
@bot.message_handler(commands=['rules', 'faq']) @bot.message_handler(commands=['rules', 'faq'])
@@ -106,17 +106,6 @@ def default_query(inline_query):
mime_type='application/pdf', mime_type='application/pdf',
thumb_url='https://fk7.ru/books/PythonCrashCourse.jpg', ) thumb_url='https://fk7.ru/books/PythonCrashCourse.jpg', )
vincent = telebot.types.InlineQueryResultDocument(
id='3', title='📕 Django for Beginners',
document_url='https://fk7.ru/books/django_for_beginners_4_0.pdf',
description='William S. Vincent, 4.0',
caption="""<i><b>Django for Beginners</b>, 4.0</i>
├ by William S. Vincent
└ Released March 2022""",
parse_mode='HTML',
mime_type='application/pdf',
thumb_url='https://fk7.ru/books/django_for_beginners_4_0.jpg', )
bot.answer_inline_query( bot.answer_inline_query(
inline_query.id, [lutz, matthes, lutz_rus, matthes_rus], inline_query.id, [lutz, matthes, lutz_rus, matthes_rus],
cache_time=10) cache_time=10)
@@ -142,9 +131,19 @@ def remind_manually():
reminder.remind() reminder.remind()
@app.route(f"/bot{os.environ.get('LUTZPYBOT', 'Token not in ENVIRON')}/", methods=['POST']) @bot.message_handler(commands=['jobs'])
def list_jobs(message):
"""List all jobs"""
if message.chat.id == ADMIN_ID:
text = reminder.get_jobs()
bot.send_message(message.chat.id, text, parse_mode='HTML')
@app.route(f"/bot{TOKEN}/", methods=['POST'])
def webhook(): def webhook():
"""Parse POST requests from Telegram""" """ Set webhook. """
bot.set_webhook(f'https://fk7.ru/bot{TOKEN}/', allowed_updates=util.update_types)
""" Parse POST requests from Telegram. """
if request.headers.get('content-type') == 'application/json': if request.headers.get('content-type') == 'application/json':
json_string = request.get_data().decode('utf-8') json_string = request.get_data().decode('utf-8')
update = telebot.types.Update.de_json(json_string) update = telebot.types.Update.de_json(json_string)
View File
View File
+12 -8
View File
@@ -2,17 +2,13 @@ import schedule
import time import time
from threading import Thread from threading import Thread
from datetime import datetime as dt from datetime import datetime as dt
from config import bot
import csv import csv
from dotenv import load_dotenv
from config import PYTHONCHATRU from .config import PYTHONCHATRU, bot
# https://core.telegram.org/bots/api Telegram Bot API # https://core.telegram.org/bots/api Telegram Bot API
dotenv_path = '.env'
load_dotenv(dotenv_path)
def scheduler(): def scheduler():
while True: while True:
@@ -28,7 +24,7 @@ def remind():
for entry in holidays[1:]: for entry in holidays[1:]:
date, holiday, description = entry date, holiday, description = entry
if today.month == dt.strptime(date, "%Y-%m-%d").month and today.day == dt.strptime(date, "%Y-%m-%d").day: if today.month == dt.strptime(date, "%Y-%m-%d").month and today.day == dt.strptime(date, "%Y-%m-%d").day:
notification = f'🎉💻 Сегодня {dt.strptime(date, "%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>!\ notification = f'🎉💻 Сегодня {dt.strptime(date, "%Y-%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>!\
\n\n{description}.' \n\n{description}.'
if dt.strptime(date, "%Y-%m-%d").year != 1: if dt.strptime(date, "%Y-%m-%d").year != 1:
age = today.year - dt.strptime(date, "%Y-%m-%d").year age = today.year - dt.strptime(date, "%Y-%m-%d").year
@@ -36,5 +32,13 @@ def remind():
bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU
schedule.every().day.at('07:00').do(remind) def get_jobs():
all_jobs = schedule.get_jobs()
text = f"├ <b>Jobs:</b> {str(len(all_jobs))}\
\n├ {dt.now().strftime('%Y-%m-%d %H:%M:%S')}\n\n"
text += '<i>' + str(all_jobs) + '</i>'
return text
schedule.every().day.at('06:00').do(remind)
Thread(target=scheduler).start() Thread(target=scheduler).start()
+10 -9
View File
@@ -1,11 +1,12 @@
"Date","Name","Description" "Date","Name","Description"
0001-01-28,"Международный день защиты персональных данных","Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь"
0001-09-13,"День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным" 0001-09-13,"День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным"
0001-09-30,"День интернета","Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»" 1946-02-14,"День компьютерщика","14 февраля 1946 года научному миру и всем заинтересованным был продемонстрирован первый реально работающий электронный компьютер ENIAC I (Electrical Numerical Integrator And Calculator)"
1991-02-20,"День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC" 1991-02-20,"День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом"
1995-05-23,"День рождения MySQL","MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня" 1994-04-07,"День рождения Рунета","7 апреля 1994 года для России был зарегистрирован домен — .Ru — и внесен в международную базу данных национальных доменов верхнего уровня."
1996-07-08,"День рождения PostgreSQL","К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres" 1995-05-23,"День рождения MySQL","MySQL — это система управления базами данных (СУБД), распространяемая как свободное программное обеспечение"
2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон" 1996-07-08,"День рождения PostgreSQL","PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД). Разработка начиналась в 1986 году Майклом Стоунбрейкером, руководителем более раннего проекта Ingres"
2008-12-03,"День рождения Python 3","После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python" 1998-04-04,"День веб-мастера","4 апреля — «404» — отмечают свой профессиональный праздник неутомимые веб-мастера и интернет-разработчики"
2010-04-01,"День рождения Flask","Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году" 2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон"
2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез" 2008-12-03,"День рождения Python 3","В Python 3000 (Python 3.0, Py3k) устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python"
2010-04-01,"День рождения Flask","Flask — фреймворк для создания веб-приложений на языке программирования Python. Создатель и основной автор — австрийский программист Армин Ронахер"
2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — Себастьян Рамирез"
1 Date Name Description
0001-01-28 Международный день защиты персональных данных Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь
2 0001-09-13 День программиста День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным
3 0001-09-30 1946-02-14 День интернета День компьютерщика Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета» 14 февраля 1946 года научному миру и всем заинтересованным был продемонстрирован первый реально работающий электронный компьютер ENIAC I (Electrical Numerical Integrator And Calculator)
4 1991-02-20 День рождения Python Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом
5 1995-05-23 1994-04-07 День рождения MySQL День рождения Рунета MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня 7 апреля 1994 года для России был зарегистрирован домен — .Ru — и внесен в международную базу данных национальных доменов верхнего уровня.
6 1996-07-08 1995-05-23 День рождения PostgreSQL День рождения MySQL К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres MySQL — это система управления базами данных (СУБД), распространяемая как свободное программное обеспечение
7 2005-07-21 1996-07-08 День рождения Django День рождения PostgreSQL Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД). Разработка начиналась в 1986 году Майклом Стоунбрейкером, руководителем более раннего проекта Ingres
8 2008-12-03 1998-04-04 День рождения Python 3 День веб-мастера После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python 4 апреля — «404» — отмечают свой профессиональный праздник неутомимые веб-мастера и интернет-разработчики
9 2010-04-01 2005-07-21 День рождения Flask День рождения Django Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году Джанго — свободный фреймворк для веб-приложений на языке Python. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон
10 2018-12-05 2008-12-03 День рождения FastAPI День рождения Python 3 FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез В Python 3000 (Python 3.0, Py3k) устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python
11 2010-04-01 День рождения Flask Flask — фреймворк для создания веб-приложений на языке программирования Python. Создатель и основной автор — австрийский программист Армин Ронахер
12 2018-12-05 День рождения FastAPI FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — Себастьян Рамирез
+1 -1
View File
@@ -1,4 +1,4 @@
from bot import app from app.bot import app
if __name__ == '__main__': if __name__ == '__main__':
app.run(debug=True) app.run(debug=True)