Git Product home page Git Product logo

aiotg's Introduction

StackOverflow Python Package Index crates.io LinkedIn Facebook Instagram Telegram ВКонтакте YouTube Discord

aiotg's People

Contributors

eigenein avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

aiotg's Issues

Запуск модуля или пакета как бота

В класс runner-а нельзя внести запуск и закрытие event loop-а (ибо может потребоваться при этом сделать с ним что-то еще). Но часто нужно будет запускать только бота.

Поэтому, изменим тулзу aiotg так, чтобы она принимала имя пакета или модуля с классом бота и запускала его. А #4 SimpleBot вынесем в отдельный модуль и добавим в туториал.

WebhookRunner

По аналогии с LongPollingRunner сделать WebhookRunner, который будет принимать обновления через webhook.

Состояния в декларативном API

В продолжение #3.

Дочерний класс должен определить методы чтения и сохранения состояния в чате. Тогда можно будет кроме шаблона команды еще и задавать состояние, в котором будет срабатывать задекорированный метод.

Дополнительные параметры в консольной утилите

Если для запуска бота нужны дополнительные параметры, то сейчас нет простой возможности передать их, если бот запускается через утилиту aiotg.

Можно попробовать придумать какой-нибудь удобный способ.

Базовый класс для ботов

Надоело всякий раз писать цикл обработки обновлений вручную, надо бы замутить для этого специально обученный класс.

Можно также предусмотреть передачу в него произвольного источника обновлений (long polling, web hook, mock).

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

01-31 02:48:36 [E] Failed to get updates.
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/aiotg/__init__.py", line 558, in loop
    updates = await self.telegram.get_updates(self.offset, self.limit, self.timeout)
  File "/usr/local/lib/python3.6/dist-packages/aiotg/__init__.py", line 397, in get_updates
    for update in await self.post("getUpdates", offset=offset, limit=limit, timeout=timeout)
  File "/usr/local/lib/python3.6/dist-packages/aiotg/__init__.py", line 493, in post
    payload = await response.json()
  File "/usr/local/lib/python3.6/dist-packages/aiohttp/client_reqrep.py", line 772, in json
    return loads(stripped.decode(encoding))
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

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.