Logo OmniDevvKANA Web
Kembali ke katalog plugin

group

setrules

Atur peraturan grup

Set group rules

plugins/group/setrules.js

Lokasi file di repo kana-md

1

Perintah termasuk alias

1.7 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.

.setrules

Cara pakai

.setrules <teks> atau .setrules clear

Contoh

.setrules 1. Sopan 2. No spam

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 { updateGroupSettings } from '../../src/services/group-service.js'
import { sendButtons } from '../../src/ui/buttons.js'

export const config = {
  name: 'setrules',
  alias: [],
  category: 'group',
  description: { id: 'Atur peraturan grup', en: 'Set group rules' },
  usage: '.setrules <teks> atau .setrules clear',
  example: '.setrules 1. Sopan 2. No spam',
  cooldown: 3,
  isGroup: true,
  isAdmin: true,
}

export const i18n = {
  id: {
    setrules: {
      usage: 'Tulis rulesnya yaa, contoh .setrules 1. Sopan 2. No spam. Atau .setrules clear buat hapus~',
      set: 'Siap~ rules grup udah disimpan. {mood}',
      cleared: 'Siap~ rules grup udah dikosongkan. {mood}',
      footer: 'Rules grup KANA', viewBtn: 'Lihat rules',
    },
  },
  en: {
    setrules: {
      usage: 'Write the rules, for example .setrules 1. Be polite 2. No spam. Or .setrules clear to remove them~',
      set: 'Got it~ group rules have been saved. {mood}',
      cleared: 'Got it~ group rules have been cleared. {mood}',
      footer: 'KANA group rules', viewBtn: 'View rules',
    },
  },
}

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

export async function handler(ctx) {
  const text = ctx.text.trim()
  if (!text) return ctx.reply(ctx.t('setrules.usage'))
  const cleared = text.toLowerCase() === 'clear'
  await updateGroupSettings(ctx.storage, ctx.chat, { rules: cleared ? '' : text })
  const body = ctx.t(cleared ? 'setrules.cleared' : 'setrules.set', { mood: ctx.say('senang') })
  await sendButtons(ctx.sock, ctx.chat, {
    title: 'KANA', body, footer: ctx.t('setrules.footer'),
    replies: [{ text: ctx.t('setrules.viewBtn'), id: '.rules' }],
    textFallback: body,
  })
}