GithubHelp home page GithubHelp logo

codex.bot.v3's Introduction

codex.bot.3

codex.bot.v3's People

Contributors

gohabereg avatar n0str avatar ndawn avatar nespecc avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codex.bot.v3's Issues

Рефакторинг Metrika.API

Избравиться от мусора в файле modules/metrika/MetrikaAPI.py
Оставить только то, что необходимо. Переписать понятнее.

Перенести chat_id в private переменную

Сейчас в модулях очень неудобно таскать chat_id для использования в ходе отправки сообщения.
Так как инстанс класса создается каждый раз при получении сообщения из чата, можно хранить chat_id во внутренней переменной класса.
Грубо говоря, положить self.chat_id = chat в методе run_telegram.
Затем избавляемся от всех передач этого параметра, везде, где он используется меняем на self.chat_id.

Экранирование сообщений

Сейчас возникают баги из-за внедрения HTML разметки. Предлагаю сделать по умолчанию обычный текст. А также разобраться в экранировании текстов, чтобы такого косяка не возникало.

Рефакторинг /today /weekly /monthly Яндекс Метрики

Нужно вынести получение текущей даты, периодов, конвертации времени в отдельные методы, которые расположить в components/simple.
В modules/metrika/Module.py отрефакторить def stats c учётом данных методов.
Также, добавить сообщение, что данных по счетчикам нет в metrika_telegram_daily.
А то сейчас, если счетчики не подключены, бот просто выдает дату и молчит.

Перевод на английский язык

Теперь все сообщения в боте необходимо писать на английском языке.
Помимо этого стоит две задачи:

  1. Перевод всех существующих текстов на хороший английский.
  2. Написание универсальной системы трансляции языка из конфига с расчетом на будущую фичу выбора языка пользователем самостоятельно.

Административный интерфейс

Подумать насчет реализации админки для показа логов из Mongo и Redis.
Нужно предоставить 3-4 варианта реализации и обдумать преимущества каждого из них.

Перехват префикса команды Telegram без startswith

Первый шаг – избавиться от startswith, заменив его на прямое сравнение.
Затем необходимо сделать проверку через функцию, вынесенную в common, чтобы не копипастить 2 раза == и ==_

Решить вопрос с управлением токенами

Сейчас Yandex.Metrika работает с первым токеном, который был подключен к чату. Можно сделать, чтобы работал с последним.

А можно предложить пользователю выбирать из какого токена будет осуществляться управление каким счетчиком.

Разобраться с параллелизмом

Задача состоит из проверки асинхронности подключения MongoDB и Redis. Также, следует автоматически проверить работоспособность бота параллельно для разных чатов с использованием одинаковых и разных модулей.

Метрика. Управление токенами

  1. Получение токена по ссылке (/metrika_add) + получение пользователя (профиль яндекса)
  2. Перечень подключенных счетчиков, группированных по профилям (/metrika_counters
  3. Отключение профиля и связанных с ним счётчиков

Вот

Убрать реакцию бота на неизвестную команду

Бот будет откликаться на любую команду для других ботов в чате. Или на любое сообщение, которое начинается со слеша.

Можно попробовать сделать настраиваемым. Например откликаться, только если бот был упомянут в сообщении с командой.

Найти и изучить новое API яндекса и подготовить рекомендации по переходу на него

Здравствуйте!

Ваши приложения обращаются к устаревшей версии API, которая будет окончательно закрыта через месяц — 14 марта.

Чтобы продолжить работу, пожалуйста, переведите на актуальную версию API ваши приложения:
codex.bot

Документация по актуальной версии API: https://tech.yandex.ru/metrika/doc/api2/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.