new log sender, refactor reminder.py

This commit is contained in:
Rykov7
2022-08-21 07:35:23 +03:00
parent a579762069
commit 6a4cd7f88b
4 changed files with 15 additions and 12 deletions
+9 -4
View File
@@ -5,6 +5,7 @@ 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 os
import csv
from config import bot, ADMIN_ID from config import bot, ADMIN_ID
import reminder import reminder
@@ -47,13 +48,17 @@ def send_start_notify_admin(message):
@bot.message_handler(commands=['log']) @bot.message_handler(commands=['log'])
def send_log_file(message): def send_log(message):
"""Get log.csv""" """Send log from log.csv"""
if message.from_user.id == ADMIN_ID: if message.from_user.id == ADMIN_ID:
file_path = f"logs/log_{dt.now().strftime('%Y-%m')}.csv" file_path = f"logs/log_{dt.now().strftime('%Y-%m')}.csv"
if exists(file_path): if exists(file_path):
with open(file_path, "r", encoding='utf-8') as f: with open(file_path, "r", newline='', encoding='utf-8') as f:
bot.send_document(message.chat.id, f) all_rows = list(csv.reader(f))
text = ''
for row in all_rows[-min(len(all_rows), 5):]:
text += str(row) + '\n'
bot.send_message(ADMIN_ID, f'<code>{text}</code>', parse_mode='html')
@bot.inline_handler(lambda query: len(query.query) == 0) @bot.inline_handler(lambda query: len(query.query) == 0)
+1 -1
View File
@@ -2,10 +2,10 @@
0001-01-28,"Международный день защиты персональных данных","Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь" 0001-01-28,"Международный день защиты персональных данных","Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь"
0001-09-13,"День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным" 0001-09-13,"День программиста","День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным"
0001-09-30,"День интернета","Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»" 0001-09-30,"День интернета","Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»"
1991-02-20,"День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC"
1995-05-23,"День рождения MySQL","MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня" 1995-05-23,"День рождения MySQL","MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня"
1996-07-08,"День рождения PostgreSQL","К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres" 1996-07-08,"День рождения PostgreSQL","К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres"
2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон" 2005-07-21,"День рождения Django","Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон"
2008-12-03,"День рождения Python 3","После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python" 2008-12-03,"День рождения Python 3","После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python"
2010-04-01,"День рождения Flask","Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году" 2010-04-01,"День рождения Flask","Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году"
2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез" 2018-12-05,"День рождения FastAPI","FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез"
"1991-02-20","День рождения Python","Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC"
1 Date Name Description
2 0001-01-28 Международный день защиты персональных данных Международный день защиты персональных данных (Data Protection Day). Это праздник был учрежден для того, чтобы пользователи сети не забывали о соблюдении правил поведения в интернете, которые помогают обезопасить их виртуальную и реальную жизнь
3 0001-09-13 День программиста День программиста отмечают практически повсеместно, ведь в XXI веке важность и необходимость этой профессии понятна всем. А в России праздник даже является официальным
4 0001-09-30 День интернета Все началось с того, что в 1998 году московская фирма IT Infoart Stars разослала фирмам и организациям предложение поддержать инициативу, состоящую из двух пунктов: назначить 30 сентября «Днем интернета», ежегодно его праздновать и провести «перепись населения русскоязычного интернета»
5 1991-02-20 День рождения Python Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC
6 1995-05-23 День рождения MySQL MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня
7 1996-07-08 День рождения PostgreSQL К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres
8 2005-07-21 День рождения Django Джанго — свободный фреймворк для веб-приложений на языке Python. Проект поддерживается организацией <i>Django Software Foundation</i>. Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др. Авторы: американский веб-разработчик Адриан Головатый и британский программист Саймон Уиллисон
9 2008-12-03 День рождения Python 3 После длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python
10 2010-04-01 День рождения Flask Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году
11 2018-12-05 День рождения FastAPI FastAPI — веб-фреймворк для создания API, написанный на Python. Один из самых быстрых и популярных (после Django и Flask) веб-фреймворков, написанных на Python. Автор — колумбиец Себастьян Рамирез
1991-02-20 День рождения Python Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом. Гвидо начал разрабатывать Python на досуге, позаимствовав некоторые наработки для языка ABC
+1 -1
View File
@@ -2,7 +2,7 @@
def get_me(message): def get_me(message):
# Fields: https://core.telegram.org/bots/api#user # Fields tip: https://core.telegram.org/bots/api#user
msg = f"<b>Telegram ID:</b> <code>{message.from_user.id}</code>\n\ msg = f"<b>Telegram ID:</b> <code>{message.from_user.id}</code>\n\
├ <b>Is bot:</b> {message.from_user.is_bot}\n\ ├ <b>Is bot:</b> {message.from_user.is_bot}\n\
├ <b>First name:</b> {message.from_user.first_name}\n" ├ <b>First name:</b> {message.from_user.first_name}\n"
+4 -6
View File
@@ -28,13 +28,11 @@ 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:
if dt.strptime(date, "%Y-%m-%d").year == 1: notification = f'🎉💻 Сегодня {dt.strptime(date, "%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \
notification = f'🎉💻 Сегодня {dt.strptime(date, "%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:
else:
age = today.year - dt.strptime(date, "%Y-%m-%d").year age = today.year - dt.strptime(date, "%Y-%m-%d").year
notification = f'🎉💻 Сегодня {dt.strptime(date, "%Y-%m-%d"):%d.%m}, <b><u>{holiday.upper()}</u></b>! \ notification += f'\n<i>{age} годовщина</i>'
\n\n{description}.\n<i>{age} годовщина</i>'
bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU bot.send_message(PYTHONCHATRU, notification, parse_mode='HTML') # PYTHONCHATRU