Updated to Pyrogram v1.
If you know what you're doing, feel free to use these as a guide.
For any questions, head to @PyrogramLounge.
Updated to Pyrogram v1.
If you know what you're doing, feel free to use these as a guide.
For any questions, head to @PyrogramLounge.
""" | |
This sets up your Clients as a dict and starts them by iterating through all of them. | |
Useful if you have a set of bots/accounts that all should do the same. | |
""" | |
from pyrogram import Client, filters, idle | |
from pyrogram.handlers import MessageHandler | |
my_apps = { | |
"app1": Client("app1"), | |
"app2": Client("app2"), | |
"app3": Client("app3"), | |
"app4": Client("app4"), | |
# and so on | |
} | |
def test(a, m): | |
m.reply("Response") | |
for _, app in my_apps.items(): | |
# Add a MessageHandler to each Client and start it | |
app.add_handler(MessageHandler(test, filters.command("test"))) | |
app.start() | |
idle() | |
for _, app in my_apps.items(): | |
app.stop() |
""" | |
This sets up your Clients as a list and starts them by iterating through all of them. | |
Useful if you have a set of bots/accounts that all should do the same. | |
Practically the same as with dict, but without having to deal with dicts. | |
""" | |
from pyrogram import Client, filters, idle | |
from pyrogram.handlers import MessageHandler | |
my_apps = [ | |
Client("app1"), | |
Client("app2"), | |
Client("app3"), | |
Client("app4"), | |
# and so on | |
] | |
def test(a, m): | |
# A single handler for all apps to execute | |
m.reply("Response") | |
for app in my_apps: | |
# Add a MessageHandler to each Client and start it | |
app.add_handler(MessageHandler(test, filters.command("test"))) | |
app.start() | |
idle() | |
for app in my_apps: | |
app.stop() |
""" | |
This sets up and starts all defined Clients one after another and keeps them idle, | |
waiting for input until stopped. | |
""" | |
from pyrogram import Client, filters, idle | |
app1 = Client("app1") | |
app2 = Client("app2") | |
# app_ = Client("app_") | |
filt = filters.command("test") | |
# You can define individual handlers ... | |
@app1.on_message(filt) | |
def test1(a, m): | |
m.reply("App 1 response") | |
# ... like these two. | |
@app2.on_message(filt) | |
def test2(a, m): | |
m.reply("App 2 response") | |
# Or stack the decorator to have multiple Clients handle the same update | |
@app1.on_message(filt) | |
@app2.on_message(filt) | |
def test_all(a, m): | |
m.reply("App response") | |
# Starting all individually, one after another | |
app1.start() | |
app2.start() | |
# app_.start() | |
idle() | |
# Same for stopping, one after another | |
app1.stop() | |
app2.stop() | |
# app_.stop() |
Shuper