Chào mừng đến với Chiến Binh Full Stack

Telegram Bot: Tạo Bot gửi tín hiệu Forex

Bài viết này sẽ hướng dẫn bạn từng bước phát triển Bot Telegram gửi tính hiệu Forex, một trong những Bot Telegram được quan tâm nhất thời gian gần đây.

Tại thời điểm mình viết bài này thì Telegram đang là ứng dụng nhắn tin và gọi điện miễn phí tốt nhất thế giới. Telegram là một mạng xã hội của Nga được xây dựng và sáng lập bởi Pavel Durov (người đứng sau Vkontakte) vào năm 2013.

Telegram cung cấp sẵn API để các lập trình viên có thể dễ dàng tạo Bot phục vụ cho nhiều nhu cầu khác nhau như: Chat tự động tư vấn khách hàng, gửi lịch hẹn, quảng cáo... và gần đây nổi lên nhất là Bot Telegram phục vụ cho việc gửi tín hiệu Forex.

Bài viết này sẽ hướng dẫn bạn từng bước phát triển Bot Telegram gửi tính hiệu Forex. Đây là một trong những bài tập nhỏ trong khóa học lập trình online của Tự Học Lập Trình.

Tạo Bot Telegram

  1. Truy cập vào https://t.me/botfather và bắt đầu Chat với Botfather.
  2. Gõ lệnh /newbot, Botfather yêu cầu bạn đặt tên cho Bot
  3. Gõ tên cho Bot, VD: SOC Telegram, Botfather tiếp tục yêu cầu bạn chọn username cho Bot.
  4. Gõ username cho Bot (lưu ý có chữ bot ở sau cùng), VD: soctelegrambot, nếu username bị trùng Botfather sẽ yêu cầu bạn chọn username khác, bạn cứ thử gõ cho đến khi nào Botfather thông báo Done! thì thôi. Cuối cùng, Botfather sẽ khởi tạo Bot và gửi tất cả thông tin quan trọng của Bot cho bạn.

Telegram Bot: Tạo Bot gửi tín hiệu Forex
Botfather là một Bot giúp bạn tạo Bot

Sau khi thực hiện 4 bước trên và tạo Bot thành công, bạn cần lưu lại các thông tin quan trọng sau:

  • Liên kết của bot, VD: t.me/soctelegrambot.
  • Chuỗi token, giữ kỹ chuỗi này, không làm mất cũng không để lộ ra bên ngoài vì đây chính là chiếc chìa khóa để điều khiển Bot Telegram của bạn.

Bạn cũng có thể gõ lệnh /help để được Botfather hướng dẫn thêm bằng cách hiển thị ra menu các lựa chọn.

Webhook

Webhook là một cách cực kỳ hữu ích và tương đối dễ dàng, gọn nhẹ trong việc triển khai các phản ứng sự kiện. Các webhook cung cấp một cơ chế trong đó một ứng dụng server-side có thể thông báo cho một ứng dụng phía client-side khi một sự kiện mới (mà ứng dụng client-side có thể quan tâm) đã xảy ra trên máy chủ.

Webbook của Bot Telegram hoạt động đơn giản như sau: Bất kỳ lúc nào khi có ai đó tương tác với Bot thì Telegram sẽ gửi Request đến một Link bất kỳ do bạn đã chỉ định. Link này thuộc là Website nằm trên server của bạn, được sử dụng để xử lý Back-end, thực hiện gọi đến các API mà Telegram đã cung cấp để vận hành Bot.

Yêu cầu về server

  1. Hỗ trợ IPv4.
  2. Chấp nhận request POST từ subnets 149.154.160.0/2091.108.4.0/22 ở port 443, 80, 88, hoặc 8443.
  3. Có cài đặt SSL (không phải SSL Wildcard) và có hỗ trợ TLS1.2(+).

Cài đặt Webhook

Bạn chỉ việc tạo và truy cập vào liên kết có cấu trúc như sau:

https://api.telegram.org/bot[token]/setWebhook?url=[link]

Trong đó, [token] là chuỗi token của Bot còn [link] là liên kết của trang web xử lý Back-end cho Bot. Ví dụ:

https://api.telegram.org/bot1549275973:AAFrSOrnW9W2aKtDtViAag1mW2OIPjnxKT8/setWebhook?url=https://socjsc.com/telegram/

Nếu bạn nhận được thông báo như hình sau thì nghĩa là Webhook đã được cài đặt thành công:

{"ok":true,"result":true,"description":"Webhook is already set"}

Xử lý Back-end

Trải qua 2 bước trên thì bạn đã sở hữu Bot Telegram mà mỗi khi có bất kỳ ai tương tác với Bot thì Link đã được cài đặt ở Webhook sẽ ngay lập tức nhận được Request. Việc còn lại cuối cùng là viết code xử lý ở Link Back-end mà thôi: