Skip to content

Commit

Permalink
Merge pull request #8 from dotX12/dev0.2
Browse files Browse the repository at this point in the history
Dev0.2 to master
  • Loading branch information
dotX12 authored Nov 6, 2022
2 parents fac5797 + 924284e commit d73fb11
Show file tree
Hide file tree
Showing 109 changed files with 1,545 additions and 1,022 deletions.
8 changes: 4 additions & 4 deletions docs/assets/code/first_bot/002.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
loguru_filter.set_level('DEBUG')
loguru_filter.set_level("DEBUG")

bot = Bot(
apikey='algAJW9512kMWGALZIkAMWG',
src_name='test_client18215',
phone_number='79189998877'
apikey="XXX",
src_name="YYY",
phone_number="PHONE",
)

dp = Dispatcher(bot=bot)
6 changes: 3 additions & 3 deletions docs/assets/code/first_bot/003.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@dp.message_handler(commands=['start', 'echo'])
async def start_command(message: Message):
@dp.message_handler(commands=["start", "echo"])
async def start_command(event: Event):
"""
This handler will be called when user sends
`/start` or `/echo` command
"""
await message.answer(f'Hello, {message.message.payload.sender.name}')
await event.answer(f"Hello, {event.message.payload.sender.name}")
8 changes: 5 additions & 3 deletions docs/assets/code/first_bot/004.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
@dp.message_handler()
async def start_switch(message: Message):
await message.answer(f'Hello, {message.message.payload.sender.name},'
f' text: {message.message.payload.text}')
async def start_switch(event: Event):
await event.answer(
f"Hello, {event.message.payload.sender.name},"
f" text: {event.message.payload.text}"
)
4 changes: 2 additions & 2 deletions docs/assets/code/first_bot/005.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ async def handler_gupshup(request):

if __name__ == "__main__":
webhook = web.Application()
webhook.add_routes([web.post('/api/v1/gupshup/hook', handler_gupshup)])
web.run_app(webhook, port=8017)
webhook.add_routes([web.post("/api/v1/gupshup/hook", handler_gupshup)])
web.run_app(webhook, port=8017)
7 changes: 3 additions & 4 deletions docs/assets/code/fsm/email.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
@dp.message_handler(state=RegisterStates.birthday)
async def register_age(message: Message, state: FSMContext):
await state.set_data(birthday=message.text)
await message.answer(f'Thanks for sending you birthday!\n'
f'Send you email address')
async def register_age(event: Event, state: FSMContext):
await state.set_data(birthday=event.text)
await event.answer(f"Thanks for sending you birthday!\n" f"Send you email address")
await state.set_state(RegisterStates.email)
6 changes: 3 additions & 3 deletions docs/assets/code/fsm/register.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@dp.message_handler(commands=['register'], state='*')
async def register_name(message: Message, state: FSMContext):
await message.answer(f'Hi, {message.sender_name}! send your date of birth')
@dp.message_handler(commands=["register"], state="*")
async def register_name(event: Event, state: FSMContext):
await event.answer(f"Hi, {event.sender_name}! send your date of birth")
await state.set_state(RegisterStates.birthday)
1 change: 1 addition & 0 deletions docs/assets/code/fsm/states.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from waio.states import State, StatesGroup


class RegisterStates(StatesGroup):
birthday = State()
email = State()
4 changes: 2 additions & 2 deletions docs/assets/code/rules/default_rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"text_contains": TextRuleContains,
"text_startswith": TextRuleStartswith,
"text_endswith": TextRuleEndswith,
"content_type": ContentTypeRule
}
"content_type": ContentTypeRule,
}
5 changes: 3 additions & 2 deletions docs/assets/code/rules/example_rule_001.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from waio.rules import ABCRule
from waio.types import Event


class StaticLongMessageRule(ABCRule):
async def check(self, message: Message) -> bool:
return len(message.text) > 200
async def check(self, event: Event) -> bool:
return len(event.text) > 200
6 changes: 3 additions & 3 deletions docs/assets/code/rules/example_rule_002.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from waio.rules import ABCRule
from waio.types import Event


class DynamicLongMessageRule(ABCRule):
def __init__(self, len_message: int):
self.len_message = len_message

async def check(self, message: Message) -> bool:
return len(message.text) > self.len_message

async def check(self, event: Event) -> bool:
return len(event.text) > self.len_message
22 changes: 9 additions & 13 deletions docs/assets/code/rules/full_code_rule_003.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,12 @@

from waio import Bot, Dispatcher
from waio.rules.abc import ABCRule
from waio.types import Message
from waio.types import Event
from waio.logs import loguru_filter

loguru_filter.set_level('DEBUG')
loguru_filter.set_level("DEBUG")

bot = Bot(
apikey='API_KEY',
src_name='SRC_NAME',
phone_number=79281112233
)
bot = Bot(apikey="API_KEY", src_name="SRC_NAME", phone_number=79281112233)

dp = Dispatcher(bot=bot)

Expand All @@ -20,16 +16,16 @@ class DynamicLongMessageRule(ABCRule):
def __init__(self, len_message: int):
self.len_message = len_message

async def check(self, message: Message) -> bool:
return len(message.text) > self.len_message
async def check(self, event: Event) -> bool:
return len(event.text) > self.len_message


dp.labeler.bind_rule('len_more', DynamicLongMessageRule)
dp.labeler.bind_rule("len_more", DynamicLongMessageRule)


@dp.message_handler(len_more=20)
async def text_len(message: Message):
await message.answer(f'msg len: {len(message.text)}')
async def text_len(event: Event):
await event.answer(f"msg len: {len(event.text)}")


async def handler_gupshup(request):
Expand All @@ -40,5 +36,5 @@ async def handler_gupshup(request):

if __name__ == "__main__":
webhook = web.Application()
webhook.add_routes([web.post('/api/v1/gupshup/hook', handler_gupshup)])
webhook.add_routes([web.post("/api/v1/gupshup/hook", handler_gupshup)])
web.run_app(webhook, port=8017)
12 changes: 6 additions & 6 deletions docs/assets/code/rules/named_rule.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
@dp.message_handler(text_equals=['foo', 'bar'])
async def start_text_equals(message: Message):
await message.answer(f'Filter used: [text_equals], msg: {message.text}')
@dp.message_handler(text_equals=["foo", "bar"])
async def start_text_equals(event: Event):
await event.answer(f"Filter used: [text_equals], msg: {event.text}")


@dp.message_handler(text_contains=['ru', 'com'])
async def start_text_contains(message: Message):
await message.answer(f'Filter used: [text_contains], msg: {message.text}')
@dp.message_handler(text_contains=["ru", "com"])
async def start_text_contains(event: Event):
await event.answer(f"Filter used: [text_contains], msg: {event.text}")
9 changes: 5 additions & 4 deletions docs/assets/code/rules/nammed_unnamed.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from waio.rules import TextRule, ContentType
from waio.types import Event


@dp.message_handler(
TextRule(startswith=['1111', '2222'], endswith=['x', 'y', 'z']),
content_type=[ContentType.TEXT]
TextRule(startswith=["1111", "2222"], endswith=["x", "y", "z"]),
content_type=[ContentType.TEXT],
)
async def text_start_switch_without_labeler(message: Message):
await message.answer(f'Filter used: [TextRule], msg: {message.text}')
async def text_start_switch_without_labeler(event: Event):
await event.answer(f"Filter used: [TextRule], msg: {event.text}")
2 changes: 1 addition & 1 deletion docs/assets/code/rules/register_rule.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dp.labeler.bind_rule('len_more', DynamicLongMessageRule)
dp.labeler.bind_rule("len_more", DynamicLongMessageRule)
8 changes: 4 additions & 4 deletions docs/assets/code/rules/rule_with_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
from phonenumbers import timezone, parse, geocoder

from waio.rules import ABCRule
from waio.types import Message
from waio.types import Event

G_T = Dict[str, Union[int, str, Tuple[str]]]


class RussianNumberRule(ABCRule):
async def check(self, message: Message) -> Union[bool, Dict[str, G_T]]:
phone_number_data = self.get_phone_number_data(message.sender_number)
async def check(self, event: Event) -> Union[bool, Dict[str, G_T]]:
phone_number_data = self.get_phone_number_data(event.sender_number)
if phone_number_data["country"] == "Russia":
return {"number_data": phone_number_data}
return False
Expand All @@ -25,5 +25,5 @@ def get_phone_number_data(number: str) -> G_T:
"country_code": phone_number.country_code,
"national_number": phone_number.national_number,
"country": country_name,
"time_zone": time_zones_number
"time_zone": time_zones_number,
}
9 changes: 4 additions & 5 deletions docs/assets/code/rules/unnamed_rule.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from waio.rules import MessageCommandsRule

@dp.message_handler(MessageCommandsRule(commands=['start', 'echo']))
async def commands_rule_without_labeler(message: Message):
await message.answer(
f'Filter used: [MessageCommandsRule], msg: {message.text}'
)

@dp.message_handler(MessageCommandsRule(commands=["start", "echo"]))
async def commands_rule_without_labeler(event: Event):
await event.answer(f"Filter used: [MessageCommandsRule], msg: {event.text}")
4 changes: 2 additions & 2 deletions docs/assets/code/rules/use_example_rule_001.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@dp.message_handler(StaticLongMessageRule())
async def foo(message: Message):
...
async def foo(event: Event):
...
2 changes: 1 addition & 1 deletion docs/assets/code/rules/use_example_rule_002.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@dp.message_handler(DynamicLongMessageRule(len_message=120))
async def foo(message: Message):
async def foo(event: Event):
...
4 changes: 2 additions & 2 deletions docs/assets/code/rules/use_example_rule_003.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@dp.message_handler(len_more=12)
async def text_len(message: Message):
await message.answer(f'msg len: {len(message.text)}')
async def text_len(event: Event):
await event.answer(f"msg len: {len(event.text)}")
7 changes: 2 additions & 5 deletions docs/assets/code/rules/use_rule_with_args.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
@dp.message_handler(RussianNumberRule(), commands=["check_number"])
async def register_rule_check_number(message: Message, number_data: G_T):
await message.answer(
f'You are from Russia! Number data:\n'
f'```{number_data}```'
)
async def register_rule_check_number(event: Event, number_data: G_T):
await event.answer(f"You are from Russia! Number data:\n" f"```{number_data}```")
35 changes: 15 additions & 20 deletions docs/assets/code/split_code/handlers_foo.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,28 @@
from re import Match

from waio.types import Message
from waio.types import Event


async def start_commands(message: Message):
await message.answer(
f'Filter used: [commands and content_type:TEXT], '
f'msg: {message.message.payload.text}'
async def start_commands(event: Event):
await event.answer(
f"Filter used: [commands and content_type:TEXT], "
f"msg: {event.message.payload.text}"
)


async def start_photo(message: Message):
await message.answer(
f'Filter used: [content_type:PHOTO], '
f'url_photo: {message.message.payload.url}'
async def start_photo(event: Event):
await event.answer(
f"Filter used: [content_type:PHOTO], " f"url_photo: {event.message.payload.url}"
)


async def start_regex(message: Message, regex: Match):
cart_id = regex.group('cart_id')
item_id = regex.group('item_id')
await message.answer(
f'Filter used: [regex], '
f'cart_id: {cart_id}, item_id: {item_id}'
async def start_regex(event: Event, regex: Match):
cart_id = regex.group("cart_id")
item_id = regex.group("item_id")
await event.answer(
f"Filter used: [regex], " f"cart_id: {cart_id}, item_id: {item_id}"
)


async def start_text_equals(message: Message):
await message.answer(
f'Filter used: [text_equals], '
f'msg: {message.text}'
)
async def start_text_equals(event: Event):
await event.answer(f"Filter used: [text_equals], " f"msg: {event.text}")
26 changes: 6 additions & 20 deletions docs/assets/code/split_code/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,17 @@
from waio.types import ContentType

from misc import dp, webhook
from handlers_foo import (
start_commands,
start_photo,
start_regex,
start_text_equals
)
from handlers_foo import start_commands, start_photo, start_regex, start_text_equals

dp.register_message_handler(
handler=start_commands,
commands=['start', 'echo'],
content_type=[ContentType.TEXT]
handler=start_commands, commands=["start", "echo"], content_type=[ContentType.TEXT]
)

dp.register_message_handler(handler=start_photo, content_type=[ContentType.PHOTO])
dp.register_message_handler(
handler=start_photo,
content_type=[ContentType.PHOTO]
)
dp.register_message_handler(
handler=start_regex,
regex=r'cart_id_(?P<cart_id>\d+)_item_id_(?P<item_id>\d+)$'
)
dp.register_message_handler(
handler=start_text_equals,
text_equals=['foo', 'bar']
handler=start_regex, regex=r"cart_id_(?P<cart_id>\d+)_item_id_(?P<item_id>\d+)$"
)
dp.register_message_handler(handler=start_text_equals, text_equals=["foo", "bar"])


async def handler_gupshup(request):
Expand All @@ -36,5 +22,5 @@ async def handler_gupshup(request):


if __name__ == "__main__":
webhook.add_routes([web.post('/api/v1/gupshup/hook', handler_gupshup)])
webhook.add_routes([web.post("/api/v1/gupshup/hook", handler_gupshup)])
web.run_app(webhook, port=8017)
10 changes: 3 additions & 7 deletions docs/assets/code/split_code/misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,11 @@
from waio.logs import loguru_filter
from waio.storage import RedisStorage

loguru_filter.set_level('DEBUG')
loguru_filter.set_level("DEBUG")

storage = RedisStorage(prefix_fsm='fsm', redis_url="redis://localhost:6379")
storage = RedisStorage(prefix_fsm="fsm", redis_url="redis://localhost:6379")

bot = Bot(
apikey='API_KEY',
src_name='SRC_NAME',
phone_number=7928994433
)
bot = Bot(apikey="API_KEY", src_name="SRC_NAME", phone_number=7928994433)

dp = Dispatcher(bot=bot, storage=storage)

Expand Down
10 changes: 5 additions & 5 deletions docs/tutorial/middleware.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ dp.labeler.register_middleware(DatabaseMiddleware())
main.py
```python
from aiohttp import web
from waio.types import Message
from waio.types import Event

from examples.middleware.database import ExampleDatabase
from examples.middleware.misc import *
Expand All @@ -136,15 +136,15 @@ webhook = web.Application()


@dp.message_handler(text_startswith='ch')
async def check_ban(message: Message):
await message.answer('The message has been processed, you are not blocked.')
async def check_ban(event: Event):
await event.answer('The message has been processed, you are not blocked.')


@dp.message_handler(commands=['s', 'session'])
async def session_check(message: Message, session: ExampleDatabase):
async def session_check(event: Event, session: ExampleDatabase):
session.set('name', 'Marina')
session.set('age', '21')
await message.answer('Hello man!')
await event.answer('Hello man!')


async def handler_gupshup(request):
Expand Down
Loading

0 comments on commit d73fb11

Please sign in to comment.