codex-team / codex.bot.v3 Goto Github PK
View Code? Open in Web Editor NEWBot that let you to control everything from Telegram and Slack.
Home Page: https://ifmo.su/bot
Bot that let you to control everything from Telegram and Slack.
Home Page: https://ifmo.su/bot
Избравиться от мусора в файле modules/metrika/MetrikaAPI.py
Оставить только то, что необходимо. Переписать понятнее.
Когда с GitHub приходит сообщение в формате Markdown, его необходимо распарсить с учетом формата.
Сейчас в модулях очень неудобно таскать chat_id для использования в ходе отправки сообщения.
Так как инстанс класса создается каждый раз при получении сообщения из чата, можно хранить chat_id во внутренней переменной класса.
Грубо говоря, положить self.chat_id = chat в методе run_telegram.
Затем избавляемся от всех передач этого параметра, везде, где он используется меняем на self.chat_id.
Сейчас возникают баги из-за внедрения HTML разметки. Предлагаю сделать по умолчанию обычный текст. А также разобраться в экранировании текстов, чтобы такого косяка не возникало.
Сейчас он что не очень, нужно много писать
Обрабатывать и выводить в чат + в логи корректную информацию об ошибках.
Например, {'message': 'Invalid oauth_token', 'code': 403, 'errors': [{'message': 'Invalid oauth_token', 'error_type': 'access_denied'}]}.
Добавить в вызов send_message: Telegram API параметр parse_mode
Решить вопрос с urlencode запроса.
Сейчас /github_stop показывает только те репозитории, которые присылали Ping Event. Нужно добавлять репу в том числе при получении любого ивента от GitHub.
Пока предполагается использование стандартных slash commands для бота.
Нужно вынести получение текущей даты, периодов, конвертации времени в отдельные методы, которые расположить в components/simple.
В modules/metrika/Module.py отрефакторить def stats c учётом данных методов.
Также, добавить сообщение, что данных по счетчикам нет в metrika_telegram_daily.
А то сейчас, если счетчики не подключены, бот просто выдает дату и молчит.
Теперь все сообщения в боте необходимо писать на английском языке.
Помимо этого стоит две задачи:
Реализовать /metrika_digest и /metrika_subscribe / unsubscribe.
Подумать насчет реализации админки для показа логов из Mongo и Redis.
Нужно предоставить 3-4 варианта реализации и обдумать преимущества каждого из них.
Первый шаг – избавиться от startswith, заменив его на прямое сравнение.
Затем необходимо сделать проверку через функцию, вынесенную в common, чтобы не копипастить 2 раза == и ==_
Сейчас Yandex.Metrika работает с первым токеном, который был подключен к чату. Можно сделать, чтобы работал с последним.
А можно предложить пользователю выбирать из какого токена будет осуществляться управление каким счетчиком.
Подумать где эти токены подключать (конфиг модуля) и вынести туда все вызовы.
Задача состоит из проверки асинхронности подключения MongoDB и Redis. Также, следует автоматически проверить работоспособность бота параллельно для разных чатов с использованием одинаковых и разных модулей.
Вот
Сделать систему автопоиска модулей и подключения их локальных конфигураций.
/metrika, /github и прочие
Бот будет откликаться на любую команду для других ботов в чате. Или на любое сообщение, которое начинается со слеша.
Можно попробовать сделать настраиваемым. Например откликаться, только если бот был упомянут в сообщении с командой.
Здравствуйте!
Ваши приложения обращаются к устаревшей версии API, которая будет окончательно закрыта через месяц — 14 марта.
Чтобы продолжить работу, пожалуйста, переведите на актуальную версию API ваши приложения:
codex.bot
Документация по актуальной версии API: https://tech.yandex.ru/metrika/doc/api2/
Предлагаю поставить редирект на https://telegram.me/@codex_bot или на https://telegram.me/@chat_id, где chat_id - это чат, из которого пришло сообщение. ID можно передать в callback через GET параметр status.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.