СЛЕГ! <Z> ️
523 subscribers
678 photos
20 videos
12 files
307 links
Здесь создают авторских телеграм-ботов. Когда не справляются конструкторы и веб-студии - есть СЛЕГ.

Статистика ботов:
https://ssleg.tech/bots_view.html

Написать автору: @yesitsnew

TW: ещё тут политота, утечки баз и игры в товарища майора на минималках
加入频道
А вот так уже выглядит запрос в постгрес и его результаты. Работа с диапазонами в слиянии таблиц - легко. Запрос выполняется 28мс.

Фома получит такой функционал в ближайшем обновлении, таблица уже на продакшене. :)
Просто познавательный слайд. План нумерации и сотовые операторы в Крыму сейчас. Выписка из таблицы россвязи от 26 июня 2020
https://rossvyaz.gov.ru/deyatelnost/resurs-numeracii/vypiska-iz-reestra-sistemy-i-plana-numeracii

В процессе уточнения таблицы операторов выяснилось, что зря я парсил сайт. Руки только размял.

Есть уже готовый csv, из официального источника, с актуальностью июнь 2020. Осталось только слегка перекодировать и загрузить файл в таблицу БД.

Так что первая заповедь питониста звучит так:
Сначала хорошо погугли, прежде чем писать. 😂
Государственная база полнее, свежее, но как всегда, пять разных наименований Москвы. 3 разных Питера, два Волгограда и так далее.

У нас в прессе строится цифровое ГУЛАГ государство, а в реале государевы базы данных выглядят так, как будто в них каждую ночь тролли ебались.

Когда там появятся программисты, дочитавшие учебник SQL до главы foreign key я не знаю.
Но на государеву базу легко, за 20 минут, написать патч. И в продакшен.

Фома обновился.

В принципе нужен ещё один патч, русского языка, от вырвиглазных сочетаний типа "Республика Удмуртская", но они действительно так пишут в минсвязи 😁
У asyncio есть очень удобные методы вызова функций, как обычных, так и асинхронных, через произвольное время в секундах, но есть ньюанс.

В потоке событий телеграм это эксплуатируется вот так (для обычных функций)

from telethon import TelegramClient
client: TelegramClient
client.loop.call_later(delta.seconds, basegen) - задержка в секундах, имя функции.

Соответственно мне нужно, чтобы функция бота basegen выполнялась каждый день в три часа ночи. В реальности она выполнилась несколько сотен раз в момент 2:59:59-3:00:00.

Потому что я забыл о тонкостях самого питоновского класса timedelta. На слайде подробно разбирается, что пошло не так под дебагером.

Из за неточностей таймера компа, asуncio гарантирует секунду, в которою все запустится, но не её доли. И функцию первый раз вызвало в 2:59:59.522.

Все бы хорошо, но timedelta вычитая разницу времени, даёт все что больше суток как дни и секунды. Получилось 1 день и ноль секунд.

Правильный вариант считать задержку через timedelta это 13 строка. :)
Тележенька взорвалась от выборов в Белоруссии. За сутки в чаты залетело 4905 человек.

Основная движуха здесь:

@minsk_new +772 человек. Чат Минска.
@majakrainablr +1899 чат выборов.

И наш "протестный" чат канала ateo
@Ateo_Chat +570

Приятного аппетита :)
Таракан протест кажется все. Сдувается. Приток ощутимо сократился, не смотря на все попытки его раздуть. График и табличка с данными по новым юзерам в политчатиках с начала августа.

Туда и дорога, ибо тема белоруссии мне лично уже надоела.
СЛЕГ! <Z> ️
Photo
Чао, бамбино, сорри 😁
+4059, на треть меньше пика.
Итоги выходных - стабилизация на уровне +2700 в сутки. Тема протеста окончательно протухла. Не смотря на истерику в каналах тг-оналитегов.
Вы будете удивлены, но эти 44 строчки это все что нужно, чтобы принимать платежи в боте через Qiwi.

Звание самого простого API года, не менее. Понятно, что нужно ещё обмазываться проверкой кодов ответа сервера (если на той стороне что-то пошло не так), но минимальный набор выглядит так.

Три функции.

Создание счета на сумму и валидного до даты/времени (на входе str(datetime)). Даёт ссылку на платёжную форму, в которой клиент платит любой картой российского банка.

Проверка состояния счета (не оплачен, оплачен, просрочен)

Отмена вовремя не оплаченных счетов (не обязательно, это опция).

Всё!
qiwi_module.py
3.2 KB
Полностью готовый модуль для киви. Обмазан перехватом ошибок, логированием, проверками кода ответа сервера и комментариями. Надеюсь, это ускорит разработку парочки дружественных проектов.

UPD: это устаревшая версия. Актуальная версия и документация лежит на https://git.ssleg.tech/anton/qiwi_module

Вопросы, замечания и благодарности можно складывать под этим постом
https://yangx.top/ssleg/322
Поскольку Паша у нас либертарианец, то стандарты ему не писаны и у телеграм свое понимание языка markdown. Причём не описанное в документации, но легко излекающееся из сообщений.

Держите рабочую шпаргалку, как форматировать текст в сообщениях.

В результате получится такая строка:

123 123 123 123 123 123 123 123 123
Когда написал реально большого бота. Это промежуточный итог, в релиз вышло 1636 строк кода и ещё 400+ в текстовых блоках.

Один четыре восемь восемь, кодить мы питон не бросим! 😁
И тут со дна постучали в зелёный люк. 😂
Говорят, что на линкус сложно играть. Мне тут захотелось в танчики какие-нибудь погонять - без проблем и даже бесплатно.

Устанавливаешь steam, а там игр на любой вкус. Это пятый час игры с нуля, в первый попавшийся бесплатный симулятор.