Logo OmniDevvKANA Web
Kembali ke katalog plugin

group

tagall

Tag semua member grup dengan daftar nama

Tag all group members with a name list

plugins/group/tagall.js

Lokasi file di repo kana-md

1

Perintah termasuk alias

1.5 KB

Ukuran file sumber

4/11/2026

Update terakhir, commit ab47575

Daftar perintah

Ketuk tombol salin untuk menyalin perintah, lalu tempel di chat WhatsApp bot KANA.

.tagall

Cara pakai

.tagall [teks]

Contoh

.tagall rapat jam 7 ya

Kode sumber plugin

Unduh .js

Cara pasang: simpan file ini ke folder plugins/group/ di bot KANA kamu, lalu restart bot. Pemilik source code lain bisa mengambil update plugin terbaru dari halaman ini kapan saja.

import { digitsOf } from '../../src/services/guard-rules.js'

export const config = {
  name: 'tagall',
  alias: [],
  category: 'group',
  description: { id: 'Tag semua member grup dengan daftar nama', en: 'Tag all group members with a name list' },
  usage: '.tagall [teks]',
  example: '.tagall rapat jam 7 ya',
  cooldown: 10,
  isGroup: true,
}

export const i18n = {
  id: { tagall: { defaultText: 'Halo halo semuanya, KANA panggil yaa~', header: '{text}\n\nDaftar member ({count}):\n{list}', fail: 'Gagal ambil daftar member grup: {error}' } },
  en: { tagall: { defaultText: 'Hello everyone, KANA is calling you~', header: '{text}\n\nMember list ({count}):\n{list}', fail: 'Failed to get group members: {error}' } },
}

export const test = { input: '.tagall', expect: /grup|group/i }

export async function handler(ctx) {
  let meta = ctx.groupMetadata
  if (!meta) {
    try { meta = await ctx.getGroupMetadata() } catch (err) { return ctx.reply(ctx.t('tagall.fail', { error: err.message })) }
  }
  const participants = meta?.participants ?? []
  if (!participants.length) return ctx.reply(ctx.t('tagall.fail', { error: 'empty' }))
  const mentions = participants.map((p) => p.id).filter(Boolean)
  const list = participants.map((p, i) => `${i + 1}. @${digitsOf(p.id)}`).join('\n')
  const text = ctx.text || ctx.t('tagall.defaultText')
  await ctx.sock.sendMessage(ctx.chat, {
    text: ctx.t('tagall.header', { text, count: participants.length, list }),
    mentions,
  }, { quoted: ctx.raw })
}