Plugin Emoji (emoji)

Dengan plugin ini, kamu bisa menambahkan emoji secara otomatis di pesan balasanmu tanpa perlu bolak-balik copy-paste emoji dari web ke kode kamu.

Kenapa Aku Perlu Plugin Ini?

Kenapa tidak? Orang-orang sering menggunakan emoji di kode mereka untuk mengilustrasikan pesan yang ingin disampaikan ataupun menata sesuatu supaya terlihat lebih baik. Sayangnya, kamu akan kehilangan fokus setiap kali kamu membutuhkan sebuah emoji baru.

  1. Pertama, kamu berhenti menulis kode untuk mencari emoji tersebut.
  2. Kemudian, kamu membuka chat Telegram lalu menghabiskan waktu kurang lebih 6 detik (atau bahkan lebih) untuk mencari emoji yang kamu inginkan.
  3. Terakhir, kamu menyalin emoji tersebut ke dalam kode, lalu melanjutkan menulis kode dan semoga kamu tidak lupa sudah sampai mana kamu tadi menulis kode (baca: kehilangan fokus).

Dengan plugin ini, kamu tidak akan kehilangan fokus karena berulang kali berhenti menulis kode hanya untuk menyalin emoji. Di samping itu, ada juga yang mengalami lag di sistem mereka ketika berpindah aplikasi atau bahkan code editor mereka tidak dapat menampilkan emoji, sehingga mereka hanya melihat sebuah kotak putih seperti pesan menyedihkan ini, I'm so happy □.

Plugin ini bertujuan untuk mengatasi permasalahan tersebut dengan cara membantu kamu mengurai emoji di semua sistem dan menyediakan cara yang mudah untuk mencari emoji menggunakan fitur auto-complete. Sekarang, langkah-langkah di atas bisa dikurangi menjadi satu langkah berikut:

  1. Tulis emoji yang kamu inginkan langsung di kode kamu. Semudah itu.

Apakah Ini Ilmu Sulap?

Bukan sulap, bukan juga sihir. Teknik ini dinamakan template string. Kamu bisa membacanya lebih lanjut di siniopen in new window.

Penginstalan dan Contoh Penggunaannya

Kamu bisa menginstal plugin ini di bot kamu dengan cara seperti ini:

import { Bot, Context } from "grammy";
import { EmojiFlavor, emojiParser } from "@grammyjs/emoji";

// Ini dinamakan Context Flavor
// Kamu bisa membacanya di sini:
// https://grammy.dev/id/guide/context.html#transformative-context-flavor
type MyContext = EmojiFlavor<Context>;

const bot = new Bot<MyContext>(""); // <-- Masukkan token bot kamu di antara ""

bot.use(emojiParser());
const { Bot } = require("grammy");
const { emojiParser } = require("@grammyjs/emoji");

const bot = new Bot(""); // <-- Masukkan token bot kamu di antara ""

bot.use(emojiParser());
import { Bot, Context } from "https://deno.land/x/grammy@v1.12.0/mod.ts";
import {
  EmojiFlavor,
  emojiParser,
} from "https://deno.land/x/grammy_emoji@v1.1.2/mod.ts";

// Ini dinamakan Context Flavor
// Kamu bisa membacanya di sini:
// https://grammy.dev/id/guide/context.html#transformative-context-flavor
type MyContext = EmojiFlavor<Context>;

const bot = new Bot<MyContext>(""); // <-- Masukkan token bot kamu di antara ""

bot.use(emojiParser());

Sekarang, kamu bisa mencari emoji berdasarkan namanya:

bot.command("start", async (ctx) => {
  const parsedString = ctx.emoji`Halo! ${"smiling_face_with_sunglasses"}`; // => Halo! 😎
  await ctx.reply(parsedString);
});

Cara lainnya, kamu bisa membalas secara langsung menggunakan method replyWithEmoji:

bot.command("ping", async (ctx) => {
  await ctx.replyWithEmoji`Pong ${"ping_pong"}`; // => Pong 🏓
});

Perlu Diperhatikan

ctx.emoji dan ctx.replyWithEmoji SELALU menggunakan template string. Jika kamu belum familiar dengan syntax tersebut, pahami terlebih dahulu materi iniopen in new window.

Ringkasan Plugin