2015-07-03 31 views
7

Sau khi tạo bot điện tín và nhận mã thông báo bot, tôi muốn gửi yêu cầu đến API bot.Cách chúng tôi gửi truy vấn đến API bot Telegram?

This link nói rằng chúng ta phải gửi yêu cầu HTTP như thế này: https://api.telegram.org/bot<token>/METHOD_NAME và mang ví dụ cho phương pháp đơn giản nhất "getme" trong đó có không bất kỳ thông số đầu vào.

Hãy tưởng tượng tôi muốn gửi một số tin nhắn. Tôi nên sử dụng phương thức sendMessage có hai tham số đầu vào Bắt buộc: chat_ID và văn bản.

Bây giờ câu hỏi của tôi bắt đầu:

  1. Làm thế nào tôi có thể viết phương pháp SendMessage này ở định dạng theo yêu cầu trên với các thông số của nó? Tôi đã thử sendMessage(param1,param2) và không tìm thấy phương thức nhận được tin nhắn.

  2. chat_id là gì? nếu tôi muốn gửi một tin nhắn cho người liên lạc, làm sao tôi có thể biết được số chat_id của anh ấy?

Tôi đã tìm kiếm rất nhiều trên internet, có rất nhiều dự án trên GitHub đặc biệt cho mục đích này và thực sự không có ý nghĩa nào về chúng. vì lợi ích của một ai đó, hãy giúp tôi. Tôi mất cách.

Trân trọng.

Trả lời

20

Bạn chỉ cần gửi một yêu cầu POST để:

https://api.telegram.org/bot{token}/{method} 

Ví dụ:

https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage 

Trong cơ thể của yêu cầu, bạn URL mã hóa các thông số:

chat_id=12345&text=hello%20friend 

Đối ví dụ, bằng Python sử dụng mô-đun requests:

import requests 

response = requests.post(
    url='https://api.telegram.org/bot{0}/{1}'.format(token, method), 
    data={'chat_id': 12345, 'text': 'hello friend'} 
).json() 

Khi người dùng trò chuyện với bot của bạn, bạn nhận được Message object có id trò chuyện (và id người dùng, bạn có thể thay thế cho id trò chuyện). Không có cách nào để bắt đầu trò chuyện với người dùng trừ khi bạn đã biết id người dùng của họ, vì vậy bạn phải đợi người dùng nói chuyện với bạn. Bạn có thể đơn giản hóa điều đó bằng cách sử dụng deep linking và yêu cầu người dùng nhấp vào liên kết gửi thông báo được tạo trước khi họ nhấn nút Bắt đầu.

+0

nhờ cho câu trả lời tốt của bạn, về việc nhận thông điệp, làm thế nào có thể một cuộc trò chuyện người dùng với bot của tôi, tôi có nghĩa nên họ chỉ cần gửi tin nhắn vào tài khoản điện tín của tôi và tôi có thể có chat_id của họ? –

+0

@AliCrash: Người dùng tìm bot của bạn theo tên ('@ YourBot') hoặc họ nhấp vào một liên kết (' https: //telegram.me/YourBot? Start = something'), mở ra một cửa sổ Telegram và hộp nhập tin nhắn được thay thế bằng nút Khởi động khổng lồ sẽ gửi '\ start something' tới bot của bạn. – Blender

+0

aha, bây giờ tôi thấy bot hoạt động như thế nào, cảm ơn lần nữa, nhưng làm cách nào tôi có thể nhận và lưu trữ thư trong hộp thư đến tài khoản Telegram của mình vào cơ sở dữ liệu cục bộ? Tôi muốn tạo một ứng dụng dành cho máy tính để bàn để làm một việc như vậy. –

1

Hãy thử điều này

https://api.telegram.org/bot{token}/sendMessage?chat_id=<chat_id>&text=<Enter your text here> 

Ví dụ

https://api.telegram.org/bot449123456:AAHSAnSGDm8PW2Z-1ZiwdVDmgv7sM3NMTxg/sendMessage?chat_id=311911234&text=Hi+Everyone 
Các vấn đề liên quan