Tạo Telegram Bot bằng Pyrogram với khả năng hỗ trợ upload file lên tới 2GB sử dụng python, trong khi Bot API chỉ hỗ trợ tối đa 20MB khi gửi. Với ưu điểm từ MTProto kết nối trực tiếp đến Telegram hỗ trợ file lớn hơn Bot API với giao thức HTTP(S) và đi qua máy chủ trung gian.
Hình ảnh: https://docs.pyrogram.org/ |
Hướng dẫn cài đặt Pyrogram trên Windows
pip3 install -U pyrogram
pip3 install -U pyrogram tgcrypto
Kiểm tra đã cài thành công pyrogram:
>>> import pyrogram
>>> pyrogram.__version__
'x.y.z'{codeBox}
Hướng dẫn cấu hình dự án để chạy telegram bot
from pyrogram import Client
api_id = 12345
api_hash = "0123456789abcdef0123456789abcdef"
app = Client("my_account", api_id=api_id, api_hash=api_hash, bot_token = 'bot_token')app.run(){codeBox}
Chú thích: Sau khi chạy bước này, sẽ sinh ra một file có tên "my_account.session". Từ bước này bạn có thể không cần chạy lại đoạn code này nữa. (Vẫn có thể giữ nguyên code để chạy).
bot_token: lấy từ Bot Father. {getButton} $text={Hướng dẫn tạo bot} $icon={link}
Nếu không thêm bot_token trong bước này thì telegram sẽ lấy cập nhật từ tất cả các Bot có trong tài khoản và sẽ báo lỗi lung tung. Do đó đừng quên bot_token ở bước này nhé. bot_token giúp bot chỉ nhận cập nhật từ bot mà chúng ta sử dụng token mà thôi.
Để lấy api_id và api_hash thì vào link sau: https://core.telegram.org/api/obtaining_api_id
Sau đó vào link https://my.telegram.org/ và đăng nhập bằng SĐT và Mã OTP gửi về Telegram App.
Tiếp theo vào: "API development tools" để lấy api_id và api_hash.
Hình ảnh file my_account.session |
api_id và api_hash |
Cách tạo bot đơn giản trả lời tin nhắn vừa gửi (echo bot) bằng pyrogram
Thêm đoạn code sau để nhận cập nhật từ telegram, sau đó trả lời bằng tin nhắn "Hello: chatID"
async def tuan(chatID):
await message.reply_text(f"Hello: {chatID}")
@app.on_message(filters.private)
async def echo(client, message):
chatID = message.chat.id
await tuan(chatID)
print("Bot started") #In dòng này báo Bot sắp chạy nếu các code bên trên họa động.
app.run() #Dòng này để chạy bot.{codeBox}
Bot trả lời tin nhắn |
Code chạy trên windows |