Post

Using Services

استفاده از سرویس ها

توی این مقاله استفاده از سرویس های بله آموزش داده میشه


نمونه سازی Client

اول باید Client رو از داخل بلتون فراخوانی کنیم و یه Client بسازیم
من Client ساخته شده خودم رو توی متغیر bot ذخیره میکنم

1
2
3
from balethon import Client

bot = Client("TOKEN")  # Replace "TOKEN" with your actual token here

باید «TOKEN» رو با توکن بات خودتون عوض کنید


اتصال به بله

حالا قبل از هر کاری اول باید باتمون رو به بله وصل کنیم

1
bot.connect()


فراخوانی سرویس ها

حالا میتونیم با بات خودمون از سرویس های بله استفاده کنیم
مثلا اطلاعات خود بات رو بگیریم و پرینتشون کنیم

1
2
me = bot.get_me()
print(me)


یا یک پیامی به یک نفر بفرستیم

1
bot.send_message("@username", "Hello")  # Replace "@username" with your actual username here

باید «@username» رو با نام کاربری مورد نظر خودتون عوض کنید


قطع اتصال از بله

ولی با این روش باید یادمون باشه که بعد از تموم شدن کار اتصال بات رو با بله قطع کنیم

1
bot.disconnect()


جمع بندی

یعنی برای مثال کد کامل ما اینجوری میشه

1
2
3
4
5
6
7
from balethon import Client

bot = Client("TOKEN")  # Replace "TOKEN" with your actual token here

bot.connect()
bot.send_message("@username", "Hello")  # Replace "@username" with your actual username here
bot.disconnect()


کانتکست منیجر

یه روش بهتر برای وصل کردن بات به بله استفاده از کانتکست منیجره

1
2
3
4
5
6
from balethon import Client

bot = Client("TOKEN")  # Replace "TOKEN" with your actual token here

with bot:
    bot.send_message("@username", "Hello")  # Replace "@username" with your actual username here

وقتی این شکلی انجام بدیم دیگه نیاز نیست خودمون اتصال با بله رو وصل یا قطع کنیم و خودکار انجام میشه
این روش پیشنهاد میشه چون حتی اگر کد به طور ناگهانی متوقف بشه قطع شدن ارتباط تضمینیه


برنامه نویسی Asynchronous

یه کار دیگه که میتونیم بهتر انجام بدیم اینه که به صورت Asynchronous کد بزنیم

1
2
3
4
5
6
7
8
9
10
11
12
13
import asyncio

from balethon import Client

bot = Client("TOKEN")  # Replace "TOKEN" with your actual token here


async def main():
    async with bot:
        await bot.send_message("@username", "Hello")  # Replace "@username" with your actual username here


asyncio.run(main())

این روش پیشنهاد میشه چون از خاصیت برنامه نویسی Asynchronous بهره میگیریم و میتونه سرعت کدمون رو ببره بالا
اگر با برنامه نویسی Asynchronous آشنایی ندارید میتونید با همون روش ساده کد بزنید و مشکلی نداره

اگر با برنامه نویسی Asynchronous آشنا باشید میدونید که یک کد Async باید حتما یک فانکشن ورودی داشته باشه

اگر از برنامه نویسی Asynchronous استفاده میکنید تمام سرویس های بله در بلتون رو هم باید به صورت Async فراخوانی کنید

ولی کدمون هنوز هم قابل بهبود دادن هست

1
2
3
4
5
6
7
8
9
10
from balethon import Client

bot = Client("TOKEN")  # Replace "TOKEN" with your actual token here


async def main():
    await bot.send_message("@username", "Hello")  # Replace "@username" with your actual username here


bot.run(main())

اینجا به‌جای asyncio.run از bot.run استفاده کردیم تا کدمون خلاصه تر بشه
اینجوری هم خود بلتون قبل از اجرای main بات رو برای ما به بله وصل میکنه و بعد از تموم شدن کار اتصال رو قطع میکنه
توی این روش هم مثل کانتکست منیجر قطع ارتباط خودکار تضمینیه


پست قبلی: Installing

پست بعدی: Handling Updates

This post is licensed under CC BY 4.0 by the author.