From f9c1ce35bb8d37942925a5d1f4afd57627efe307 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Sat, 8 Sep 2018 02:14:14 +0300 Subject: [PATCH] Add autogenerated docs for examples. Will be changed soon. --- .../examples/adwanced_executor_example.rst | 27 ++++++++++++++++++ docs/source/examples/broadcast_example.rst | 10 +++++++ docs/source/examples/check_user_language.rst | 13 +++++++++ docs/source/examples/echo_bot.rst | 1 + .../examples/finite_state_machine_example.rst | 10 +++++++ .../finite_state_machine_example_2.rst | 16 +++++++++++ docs/source/examples/i18n_example.rst | 28 +++++++++++++++++++ docs/source/examples/index.rst | 17 +++++++++++ docs/source/examples/inline_bot.rst | 10 +++++++ docs/source/examples/media_group.rst | 10 +++++++ .../examples/middleware_and_antiflood.rst | 10 +++++++ docs/source/examples/payments.rst | 10 +++++++ docs/source/examples/proxy_and_emojize.rst | 10 +++++++ .../regexp_commands_filter_example.rst | 10 +++++++ docs/source/examples/throtling_example.rst | 14 ++++++++++ docs/source/examples/webhook_example.rst | 10 +++++++ docs/source/examples/webhook_example_2.rst | 10 +++++++ 17 files changed, 216 insertions(+) create mode 100644 docs/source/examples/adwanced_executor_example.rst create mode 100644 docs/source/examples/broadcast_example.rst create mode 100644 docs/source/examples/check_user_language.rst create mode 100644 docs/source/examples/finite_state_machine_example.rst create mode 100644 docs/source/examples/finite_state_machine_example_2.rst create mode 100644 docs/source/examples/i18n_example.rst create mode 100644 docs/source/examples/inline_bot.rst create mode 100644 docs/source/examples/media_group.rst create mode 100644 docs/source/examples/middleware_and_antiflood.rst create mode 100644 docs/source/examples/payments.rst create mode 100644 docs/source/examples/proxy_and_emojize.rst create mode 100644 docs/source/examples/regexp_commands_filter_example.rst create mode 100644 docs/source/examples/throtling_example.rst create mode 100644 docs/source/examples/webhook_example.rst create mode 100644 docs/source/examples/webhook_example_2.rst diff --git a/docs/source/examples/adwanced_executor_example.rst b/docs/source/examples/adwanced_executor_example.rst new file mode 100644 index 00000000..57925c0d --- /dev/null +++ b/docs/source/examples/adwanced_executor_example.rst @@ -0,0 +1,27 @@ +.. Autogenerated file at 2018-09-08 02:07:37.572483 + +========================= +Adwanced executor example +========================= + +!/usr/bin/env python3 +In this example used ArgumentParser for configuring Your bot. +Provided to start bot with webhook: +python adwanced_executor_example.py \ +--token TOKEN_HERE \ +--host 0.0.0.0 \ +--port 8084 \ +--host-name example.com \ +--webhook-port 443 +Or long polling: +python adwanced_executor_example.py --token TOKEN_HERE +So... In this example found small trouble: +can't get bot instance in handlers. +If you want to automatic change getting updates method use executor utils (from aiogram.utils.executor) +TODO: Move token to environment variables. + +.. literalinclude:: ../../../examples/adwanced_executor_example.py + :caption: adwanced_executor_example.py + :language: python + :linenos: + :lines: 24- diff --git a/docs/source/examples/broadcast_example.rst b/docs/source/examples/broadcast_example.rst new file mode 100644 index 00000000..97556e73 --- /dev/null +++ b/docs/source/examples/broadcast_example.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.593501 + +================= +Broadcast example +================= + +.. literalinclude:: ../../../examples/broadcast_example.py + :caption: broadcast_example.py + :language: python + :linenos: diff --git a/docs/source/examples/check_user_language.rst b/docs/source/examples/check_user_language.rst new file mode 100644 index 00000000..0fc2d90e --- /dev/null +++ b/docs/source/examples/check_user_language.rst @@ -0,0 +1,13 @@ +.. Autogenerated file at 2018-09-08 02:07:37.558059 + +=================== +Check user language +=================== + +Babel is required. + +.. literalinclude:: ../../../examples/check_user_language.py + :caption: check_user_language.py + :language: python + :linenos: + :lines: 5- diff --git a/docs/source/examples/echo_bot.rst b/docs/source/examples/echo_bot.rst index c8c7b4a8..18c45569 100644 --- a/docs/source/examples/echo_bot.rst +++ b/docs/source/examples/echo_bot.rst @@ -1,6 +1,7 @@ Echo bot ======== +Very simple example of the bot which will sent text of the received messages to the sender .. literalinclude:: ../../../examples/echo_bot.py :caption: echo_bot.py diff --git a/docs/source/examples/finite_state_machine_example.rst b/docs/source/examples/finite_state_machine_example.rst new file mode 100644 index 00000000..3eea4a22 --- /dev/null +++ b/docs/source/examples/finite_state_machine_example.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.595032 + +============================ +Finite state machine example +============================ + +.. literalinclude:: ../../../examples/finite_state_machine_example.py + :caption: finite_state_machine_example.py + :language: python + :linenos: diff --git a/docs/source/examples/finite_state_machine_example_2.rst b/docs/source/examples/finite_state_machine_example_2.rst new file mode 100644 index 00000000..a0c6c1a0 --- /dev/null +++ b/docs/source/examples/finite_state_machine_example_2.rst @@ -0,0 +1,16 @@ +.. Autogenerated file at 2018-09-08 02:07:37.580949 + +============================== +Finite state machine example 2 +============================== + +This example is equals with 'finite_state_machine_example.py' but with FSM Middleware +Note that FSM Middleware implements the more simple methods for working with storage. +With that middleware all data from storage will be loaded before event will be processed +and data will be stored after processing the event. + +.. literalinclude:: ../../../examples/finite_state_machine_example_2.py + :caption: finite_state_machine_example_2.py + :language: python + :linenos: + :lines: 9- diff --git a/docs/source/examples/i18n_example.rst b/docs/source/examples/i18n_example.rst new file mode 100644 index 00000000..875006be --- /dev/null +++ b/docs/source/examples/i18n_example.rst @@ -0,0 +1,28 @@ +.. Autogenerated file at 2018-09-08 02:07:37.591007 + +============ +I18n example +============ + +Internalize your bot +Step 1: extract texts +# pybabel extract i18n_example.py -o locales/mybot.pot +Step 2: create *.po files. For e.g. create en, ru, uk locales. +# echo {en,ru,uk} | xargs -n1 pybabel init -i locales/mybot.pot -d locales -D mybot -l +Step 3: translate texts +Step 4: compile translations +# pybabel compile -d locales -D mybot +Step 5: When you change the code of your bot you need to update po & mo files. +Step 5.1: regenerate pot file: +command from step 1 +Step 5.2: update po files +# pybabel update -d locales -D mybot -i locales/mybot.pot +Step 5.3: update your translations +Step 5.4: compile mo files +command from step 4 + +.. literalinclude:: ../../../examples/i18n_example.py + :caption: i18n_example.py + :language: python + :linenos: + :lines: 22- diff --git a/docs/source/examples/index.rst b/docs/source/examples/index.rst index f3c7e856..3028819c 100644 --- a/docs/source/examples/index.rst +++ b/docs/source/examples/index.rst @@ -1,5 +1,22 @@ +======== Examples ======== .. toctree:: + echo_bot + inline_bot + adwanced_executor_example + proxy_and_emojize + finite_state_machine_example + finite_state_machine_example_2 + throtling_example + i18n_example + regexp_commands_filter_example + check_user_language + middleware_and_antiflood + webhook_example + webhook_example_2 + payments + broadcast_example + media_group diff --git a/docs/source/examples/inline_bot.rst b/docs/source/examples/inline_bot.rst new file mode 100644 index 00000000..b6059974 --- /dev/null +++ b/docs/source/examples/inline_bot.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.561907 + +========== +Inline bot +========== + +.. literalinclude:: ../../../examples/inline_bot.py + :caption: inline_bot.py + :language: python + :linenos: diff --git a/docs/source/examples/media_group.rst b/docs/source/examples/media_group.rst new file mode 100644 index 00000000..ebf2d3f2 --- /dev/null +++ b/docs/source/examples/media_group.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.566615 + +=========== +Media group +=========== + +.. literalinclude:: ../../../examples/media_group.py + :caption: media_group.py + :language: python + :linenos: diff --git a/docs/source/examples/middleware_and_antiflood.rst b/docs/source/examples/middleware_and_antiflood.rst new file mode 100644 index 00000000..4f634c93 --- /dev/null +++ b/docs/source/examples/middleware_and_antiflood.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.560132 + +======================== +Middleware and antiflood +======================== + +.. literalinclude:: ../../../examples/middleware_and_antiflood.py + :caption: middleware_and_antiflood.py + :language: python + :linenos: diff --git a/docs/source/examples/payments.rst b/docs/source/examples/payments.rst new file mode 100644 index 00000000..7b634ce7 --- /dev/null +++ b/docs/source/examples/payments.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.579017 + +======== +Payments +======== + +.. literalinclude:: ../../../examples/payments.py + :caption: payments.py + :language: python + :linenos: diff --git a/docs/source/examples/proxy_and_emojize.rst b/docs/source/examples/proxy_and_emojize.rst new file mode 100644 index 00000000..3dbaa268 --- /dev/null +++ b/docs/source/examples/proxy_and_emojize.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.555359 + +================= +Proxy and emojize +================= + +.. literalinclude:: ../../../examples/proxy_and_emojize.py + :caption: proxy_and_emojize.py + :language: python + :linenos: diff --git a/docs/source/examples/regexp_commands_filter_example.rst b/docs/source/examples/regexp_commands_filter_example.rst new file mode 100644 index 00000000..36452350 --- /dev/null +++ b/docs/source/examples/regexp_commands_filter_example.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.568530 + +============================== +Regexp commands filter example +============================== + +.. literalinclude:: ../../../examples/regexp_commands_filter_example.py + :caption: regexp_commands_filter_example.py + :language: python + :linenos: diff --git a/docs/source/examples/throtling_example.rst b/docs/source/examples/throtling_example.rst new file mode 100644 index 00000000..eaeb337e --- /dev/null +++ b/docs/source/examples/throtling_example.rst @@ -0,0 +1,14 @@ +.. Autogenerated file at 2018-09-08 02:07:37.563878 + +================= +Throtling example +================= + +Example for throttling manager. +You can use that for flood controlling. + +.. literalinclude:: ../../../examples/throtling_example.py + :caption: throtling_example.py + :language: python + :linenos: + :lines: 7- diff --git a/docs/source/examples/webhook_example.rst b/docs/source/examples/webhook_example.rst new file mode 100644 index 00000000..4979087f --- /dev/null +++ b/docs/source/examples/webhook_example.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.587860 + +=============== +Webhook example +=============== + +.. literalinclude:: ../../../examples/webhook_example.py + :caption: webhook_example.py + :language: python + :linenos: diff --git a/docs/source/examples/webhook_example_2.rst b/docs/source/examples/webhook_example_2.rst new file mode 100644 index 00000000..2ffdfed9 --- /dev/null +++ b/docs/source/examples/webhook_example_2.rst @@ -0,0 +1,10 @@ +.. Autogenerated file at 2018-09-08 02:07:37.576034 + +================= +Webhook example 2 +================= + +.. literalinclude:: ../../../examples/webhook_example_2.py + :caption: webhook_example_2.py + :language: python + :linenos: