Giter Site home page Giter Site logo

cyclic-test-bot's Introduction

Cyclic Test Bot

Ini adalah contoh bot yang dideploy dengan menggunakan cyclic.sh

Explanation

cyclic.sh adalah sebuah tempat deployment seperti Heroku dan lain-lain. Untuk biayanya adalah gratis selamanya, tetapi jika kamu menginginkan yang lebih powerfull, kamu dapat menggunakan yang versi berbayarnya, lihat versi selengkapnya disini. Untuk mendeploy bot kamu ke cyclic, caranya sama seperti ketika ingin mendeploy bot ke Heroku yaitu dengan menggunakan repo dari github.

Requirements

  • NodeJS V12+
  • VS Code atau aplikasi coding lainnya

Deployment

Berikut cara untuk mendeploy bot ke cyclic.sh:

  • Buka command promt (powershell) di Windows, MacOS atau Linux kamu
  • Ketikkan mkdir my-bot
  • Pergi ke direktori filenya dengan cara cd my-bot
  • Ketikkan perintah npm init -y
  • Pergi ke folder my-bot dan buka package.json, lalu tambahkan "start": "node index.js" di bagian "scripts", untuk "test" sendiri boleh dihapus atau tidak.
  • Buka powershell dan install grammy, express dan dotenv dengan cara npm install grammy express dotenv
  • Buat file baru dengan nama .env lalu isi dengan BOT_TOKEN=YOUR_BOT_TOKEN, YOUR_BOT_TOKEN diganti dengan token bot yang sudah kamu buat di @BotFather
  • Buat file baru dengan nama index.js, lalu salin dan tempel kode dibawah ke file index.js:
const { Bot, webhookCallback } = require("grammy");
const express = require("express");

require("dotenv").config();

const bot = new Bot(process.env.BOT_TOKEN);

bot.on('message', async ctx => {
  await ctx.reply(`This bot was deployed on cyclic.sh`)
  await ctx.reply(`Example code: https://github.com/TheAlexSandro/cyclic-test-bot`)
  return;
})

if (process.env.NODE_ENV === "production") {
  const app = express();
  app.use(express.json());
  app.use(webhookCallback(bot, "express"));

  const PORT = process.env.PORT || 3000;
  app.listen(PORT, () => {
    console.log(`Bot listening on port ${PORT}`);
  });
} else {
  bot.start();
}

process.once("SIGINT", () => bot.stop("SIGINT"));
process.once("SIGTERM", () => bot.stop("SIGTERM"));
  • Pergi ke akun github kalian lalu buat repo baru, repo boleh private atau publik, jangan tambahkan apapun, polosan saja.
  • Buka powershell lalu ketikkan perintah yang ada di repo yang telah dibuat tadi.
  • Pergi ke cyclic.sh dan sign up (jika belum punya akun)
  • Untuk sign up sendiri, itu mudah karena hanya perlu menyambungkan akun github yang kalian punya.
  • Tekan bagian "link your own"
  • Dan tekan "search your repositories" dan pilih repo yang dibuat tadi.
  • Lalu tekan "connect cyclic", bagian advanced biarkan saja seperti itu dan tunggu hingga selesai.
  • Jika sudah, maka dibawah akan ada peringatan bertuliskan Environment Variables, scroll dan tekan tulisan environment variables console.
  • Dibagian NODE_ENV isikan production
  • Dibagian BOT_TOKEN isikan token bot kalian
  • Lalu tekan save
  • Dan voila, bot berhasil dideploy ke cyclic.sh

Set Webhook

Untuk set webhook, pergi ke powershell dan ketikkan perintah:

curl "https://api.telegram.org/botBOT_TOKEN/setWebhook?url=https://[app-name].cyclic.app"

Untuk mendapatkan tautan dari aplikasi kalian, maka kalian cukup pergi overview dari app kalian dan lihat pada nama aplikasinya, dibawah akan ada tautan untuk set webhook.

Closing

Baiklah, itu saja tempat deploy beserta caranya yang bisa saya berikan kali ini, jika kalian masih bingung dengan cara diatas, kalian dapat browsing atau mencari video tutorialnya di YouTube.

Jika perkataan saya ada yang kurang berkenan, saya mohon maaf dan jika ada yang ingin ditanyakan maka simpan saja dan tanyakan pada Google atau ChatGPT.

Terimakasih dan good bye! :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.