번거로운 서버 관리 없이 텔레그램 봇을 구축할 준비가 되셨나요? Cloudflare Workers를 사용하면 모든 어려운 작업을 처리하는 강력하고 확장 가능한 플랫폼을 활용하여 몇 분 안에 봇을 배포할 수 있습니다. 이 가이드에서는 TypeScript의 간단하고 따라하기 쉬운 템플릿을 사용하여 개발 환경 설정부터 완전한 기능을 갖춘 Telegram 봇 배포까지 전체 프로세스를 안내합니다. 자세히 알아보고 봇을 작동시켜 보세요.
Cloudflare Workers는 개발자가 사용자와 가까운 엣지에서 대기 시간을 최소화하면서 JavaScript, TypeScript 또는 Python 코드를 실행할 수 있는 서버리스 플랫폼입니다. 이 플랫폼을 활용하면 매우 빠르며 확장성이 뛰어난 Telegram 봇을 배포할 수 있습니다. 서버를 관리하거나 확장을 처리하거나 복잡한 인프라를 처리할 필요가 없습니다. - Cloudflare가 모든 것을 처리해 드립니다.
이제 프로세스를 살펴보겠습니다.
구축을 시작하기 전에 작업자 관리를 위한 Cloudflare의 명령줄 도구인 Wrangler를 설치해야 합니다.
npm install wrangler
팁: npm이 설치되어 있지 않은 경우 nodejs.org에서 Node.js를 다운로드하여 설치하면 쉽게 얻을 수 있습니다.
Wrangler가 설정되면 작업자 파일을 저장할 디렉터리로 이동합니다. 작업자를 생성하려면 다음 명령을 실행하십시오.
npm create cloudflare@latest MY_WORKER_NAME
MY_WORKER_NAME을 원하는 작업자 이름으로 바꾸세요. Wrangler를 처음 사용하는 경우 Cloudflare 계정에 연결하고 브라우저 창을 통해 인증하라는 메시지가 표시됩니다. 지침을 따르세요.
템플릿을 묻는 메시지가 나타나면 GitHub 저장소의 템플릿을 선택하고 다음을 입력합니다.
https://github.com/m-sarabi/cloudflare-telegram-bot
그런 다음 질문이 나타나면 Typescript를 선택하세요.
이 저장소로 이동하여 별점 ⭐️을 주세요.
설정 중에 Git을 버전 제어에 사용할지, 작업자를 즉시 배포할지 묻는 메시지가 표시됩니다. 두 가지 모두 아니요를 선택하고 모든 것이 구성될 때까지 보류하는 것이 좋습니다.
다음 메시지가 표시됩니다: SUCCESS 애플리케이션이 성공적으로 생성되었습니다!
다음으로 프로젝트 디렉터리 내의 wrangler.toml 파일에 환경 변수를 설정하겠습니다. 따라서 파일에 다음 줄을 추가하세요.
[vars] SECRET = "<SECRET>" TOKEN = "<API_TOKEN>"
이러한 변수를 설정한 후 프로젝트 디렉터리에서 다음 명령을 실행하세요.
npm run cf-typegen
이 명령은 새로 설정된 변수를 반영하여 Worker-configuration.d.ts 파일을 다시 생성합니다.
이제 재미있는 부분 - 봇 코딩에 들어가 보겠습니다! 이 예에서는 다음을 만듭니다.
시나리오: 사용자가 /start 명령을 보내면 봇은 버튼이 있는 메시지를 표시합니다. 버튼을 누르면 봇이 해당 버튼을 제거하고 후속 메시지를 보냅니다.
모든 업데이트 핸들러 기능은 src/Telegram/handlers 디렉터리에 있습니다.
/start 명령에 메시지와 인라인 버튼으로 응답하는 것부터 시작하겠습니다. src/Telegram/handlers/handleMessage.ts를 다음과 같이 수정하세요:
import { tg } from '../lib/methods'; export async function handleMessage(message: tgTypes.Message) { const messageText = message.text; const chatId = message.chat.id; if (messageText === '/start') { await tg.sendMessage({ text: 'Welcome to my bot! Press the button to accept my rules!', chat_id: chatId, reply_markup: { inline_keyboard: [ [{ text: 'I Accept', callback_data: 'accept_rules' }] ] } }); } }
이 코드 조각은 tg.sendMessage 메소드를 사용하여 인라인 키보드 버튼이 있는 메시지를 보냅니다.
사용자가 인라인 버튼을 누르면 봇이 이 작업을 승인하기를 원합니다. src/Telegram/handlers/handleCallbackQuery.ts 수정:
import { tg } from '../lib/methods'; export async function handleCallbackQuery(callbackQuery: tgTypes.CallbackQuery) { const data = callbackQuery.data; const messageId = callbackQuery.message?.message_id; const chatId = callbackQuery.message?.chat.id; if (messageId && chatId) { if (data === 'accept_rules') { await tg.editMessageReplyMarkup({ chat_id: chatId, message_id: messageId, reply_markup: undefined }); await tg.sendMessage({ chat_id: chatId, text: 'Thanks for accepting my rules.' }); } } }
이 코드는 accept_rules 데이터 쿼리를 수신하고 일치 시 인라인 버튼을 제거하고 tg.editMessageReplyMarkup 메소드를 사용하여 후속 메시지를 보냅니다.
봇 로직이 준비되었으면 이제 작업자를 배포하고 웹후크를 통해 Telegram에 연결할 차례입니다.
배포 및 등록이 완료되면 Telegram에서 봇과 상호 작용할 수 있습니다. 시작(또는 전송/시작)을 클릭하여 시작하면 인라인 버튼이 있는 환영 메시지가 표시됩니다.
Cloudflare Workers 덕분에 Telegram 봇을 구축하고 배포하는 것이 그 어느 때보다 쉬워졌습니다. 이 가이드를 따르면 서버리스 기술의 힘을 활용하여 확장 가능하고 빠르며 유지 관리도 쉬운 봇을 만들 수 있습니다.
개인용으로 간단한 봇을 구축하든 비즈니스를 위해 더 복잡한 것을 배포하든 이 템플릿은 견고한 기반을 제공합니다. 즐거운 코딩하세요!
위 내용은 Cloudflare Workers에 Telegram Bot 배포: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!