Notification texts go here Contact Us Buy Now!

Cara Membuat Bot Absensi telegram Menggunakan Node Js

 


Sebelum memulai menulis artikel ini, mungkin ada dari pembaca kenapa admin gak ngasih hasil dari codingannya ke dalam blog? itu kenapa ngak ada contoh dari codingannya? kok ngak di post min? 

Ssttt nah untuk menghemat waktu admin akan mendampilkan hasil dari setiap artikel yang berisikan materi codingan ke dalam channel youtube hidayat code. Kalau semisal nanti videonya telah di post, nantinya akan kami upload juga ke dalam artikel yang ini, semisal belum ada berarti admin masih belum ngepost dan masih belum ada waktu untuk ngepostnya.

Seperti yang kita ketahui bahwa banyak sekali aplikasi-aplikasi bot yang di buat dengan menggukaan node js, pada kesemepatan kali ini admin akan membahas tutorial cara membuat bot absensi di telegram dengan menggunakan node js.

Silahkan terlebih dahulu download dan instal telegram ke dalam hp kalian, jika sudah instal dan membuat akunnya buka botfather di dalam kolom pencarian.


Seperti biasa silahkan set new bot dengan menggunakan command /newboot silahkanseting nama bot yang ingin kamu buat sebagai contoh hollan_bot langkah selanjutnya silahkan ikuti intruksi yang di berikan oleh botfather.

Kemudian akan ada balasan dari bot berupa token yang nantinya kita gunakan untuk membuat botnya. Save token tersebut, langkah berikutnya ialah membuat codinganya. Kamu bisa menggunakan VSCode atau kode editor lainnya.

Silahkan buat folder untuk nama bot kalian dan masukan perintah command di bawah ini.

$ npm init

Kemudian kita membutuhkan package  manager express, dotenv, dan node-telegram-bot-api jalankan command di bawah ini.

$ npm install express dotenv node-telegram-bot-api

Langkah berikutnya buka code editor kalian dan cari file bernama package.json dan tambahkan “start”: “node index.js”, seperti pada gambar di bawah ini.


Kemudian buat file environment dengan nama file .env lalu copy code di bawah ini ke dalam file yang telah kamu buat tadi serta tambahkan juga kode token telegram yang telah kamu dapatkan ke dalam baris TELEGRAM_TOKEN.

APP_PORT=1000
TZ=Asia/Jakarta
TELEGRAM_TOKEN=8ashc89asyda8hd823h

Lalu buat file dengan nama index.js dan tambahkan code di bawah ini ke dalam file tersebut.

'use strict'
require('dotenv').config()
const express = require('express')
const app = express()
const telegram = require('node-telegram-bot-api') //package for integration telegram and nodejs
const token = process.env.TELEGRAM_TOKEN //token telegram
const bot = new telegram(token, { polling: true }) // init and config
const emoji = '\u{00002714}' // emoji telegram
bot.onText(/\/checkin/, async (msg, match) => { // get command message for telegram example /checkin
const username = match.input.split('|')[1] // get input text message on telegeram
const attendance = match.input.split('|')[2]
const type = match.input.split('|')[3]
const times = match.input.split('|')[4]
const chatId = msg.chat.id // chat id user telegram
if (attendance === undefined) { // handle if message empty
// send message if empty
bot.sendMessage(chatId, 'format harus di isi Contoh : | username | Hadir | Work From Home | 11:00')
return
}
// send message if success
bot.sendMessage(
chatId,
`<b>${msg.chat.first_name}</b> : <b>${attendance}</b> - <b>${type}</b> - <b>${times}</b> ${emoji}`,
{ parse_mode: 'HTML' }
)
})
bot.onText(/\/checkout/, async (msg, match) => {
const username = match.input.split('|')[1]
const times = match.input.split('|')[2]
const chatId = msg.chat.id
if (username === undefined) {
bot.sendMessage(chatId, 'format harus di isi Contoh : | username | 12:00')
return
}
bot.sendMessage(
chatId,
`<b>${msg.chat.first_name}</b> : Berhasil Checkout - <b>${times}</b> ${emoji}`,
{ parse_mode: 'HTML' }
)
})
app.listen(process.env.APP_PORT, () => {
console.log(`absensi bot running in port ${process.env.APP_PORT}`)
})

Save semua hasil kodingan tadi dan jalankan dengan menggunakan perintah.

$ npm start

Buka bot telegram yang sudah kamu buat tadi dan masukan perintah di bawah ini.

/checkin | hidayat | Hadir | Work From Home | 09:00

dan hasilnya seperti di bawah ini.

/checkout | hidayat | 09:00

Getting Info...

About the Author

IT Enthusiast

Posting Komentar

Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.