|
10 | 10 | from waio.keyboard.list import ListMessage
|
11 | 11 | from waio.keyboard.reply import QuickReply
|
12 | 12 | from waio.labeler import BotLabeler
|
| 13 | +from waio.logs.logger import logger |
13 | 14 | from waio.middleware import MiddlewareResponse
|
| 15 | +from waio.models.audio import AudioModel |
14 | 16 | from waio.models.enums import GupshupMethods
|
| 17 | +from waio.models.file import FileModel |
15 | 18 | from waio.models.image import ImageModel
|
| 19 | +from waio.models.sticker import StickerModel |
16 | 20 | from waio.models.text import MessageText
|
| 21 | +from waio.models.video import VideoModel |
17 | 22 | from waio.states.context import FSMContext
|
18 | 23 | from waio.storage.redis import RedisStorage
|
19 | 24 | from waio.types.message import Message
|
20 |
| -from waio.logs.logger import logger |
21 | 25 |
|
22 | 26 |
|
23 | 27 | class Bot(GupshupSettings, HTTPClient):
|
@@ -48,15 +52,50 @@ async def send_message(self, receiver: int, message: str):
|
48 | 52 | return await self._base_request(receiver=receiver, data=msg)
|
49 | 53 |
|
50 | 54 | async def send_image(
|
51 |
| - self, |
52 |
| - receiver: int, |
53 |
| - original_url: str, |
54 |
| - preview_url: Optional[str] = None, |
55 |
| - caption: Optional[str] = None, |
| 55 | + self, |
| 56 | + receiver: int, |
| 57 | + original_url: str, |
| 58 | + preview_url: Optional[str] = None, |
| 59 | + caption: Optional[str] = None, |
56 | 60 | ):
|
57 | 61 | image = ImageModel(original_url=original_url, preview_url=preview_url, caption=caption)
|
58 | 62 | return await self._base_request(receiver=receiver, data=image)
|
59 | 63 |
|
| 64 | + async def send_file( |
| 65 | + self, |
| 66 | + receiver: int, |
| 67 | + url: str, |
| 68 | + filename: str, |
| 69 | + caption: Optional[str] = None, |
| 70 | + ): |
| 71 | + file = FileModel(url=url, filename=filename, caption=caption) |
| 72 | + return await self._base_request(receiver=receiver, data=file) |
| 73 | + |
| 74 | + async def send_video( |
| 75 | + self, |
| 76 | + receiver: int, |
| 77 | + url: str, |
| 78 | + caption: Optional[str] = None, |
| 79 | + ): |
| 80 | + video = VideoModel(url=url, caption=caption) |
| 81 | + return await self._base_request(receiver=receiver, data=video) |
| 82 | + |
| 83 | + async def send_audio( |
| 84 | + self, |
| 85 | + receiver: int, |
| 86 | + url: str, |
| 87 | + ): |
| 88 | + audio = AudioModel(url=url) |
| 89 | + return await self._base_request(receiver=receiver, data=audio) |
| 90 | + |
| 91 | + async def send_sticker( |
| 92 | + self, |
| 93 | + receiver: int, |
| 94 | + url: str, |
| 95 | + ): |
| 96 | + sticker = StickerModel(url=url) |
| 97 | + return await self._base_request(receiver=receiver, data=sticker) |
| 98 | + |
60 | 99 | async def send_list(self, receiver: int, keyboard: ListMessage):
|
61 | 100 | return await self._base_request(receiver=receiver, data=keyboard)
|
62 | 101 |
|
|
0 commit comments