Channel name was changed to ยซ๐๐๐๐ ๐ฒ๐๐๐๐๐ <ู ู ู >ยป
ุงูุณูุงู
ุนูููู
ูุฑุญู
ุฉ ุงููู ูุจุฑูุงุชู
โค11
/*
๐ ุงููุณู : [ ุงูุนุงุจ ]
๐ ุงูู ูุฒุฉ : [ ุงุญุฒุฑ ]
๐ท ุงูููุน : Plugin ESM
โฒ ุงููุธููุฉ : ูุนุจุฉ ุงุญุฒุฑ ุงุณู ุงูุดุฎุตูุฉ
โ๏ธ ุจูุงุณุทุฉ : https://t.me/YatoCoding
โ๏ธ ุงูุฏุนู : https://t.me/alkaser_0_0
*/
ุงูููุฏ ุงูุฃุณุงุณู :
let timeout = 60000
let poin = 500
let handler = async (m, { conn, command, usedPrefix }) => {
conn.tebakbendera = conn.tebakbendera || {}
let id = m.chat
if (id in conn.tebakbendera) {
conn.reply(m.chat, 'โโูู ูุชู ุงูุงุฌุงุจุฉ ุนูู ุงูุณุคุงู ุจุนุฏโโ โฏ', conn.tebakbendera[id][0])
throw false
}
// ุฌูุจ ุงูุจูุงูุงุช ู ู whois.json
let src = await (await fetch('https://github.com/anasmods/Nandimonai/raw/main/game/whois.json')).json()
let json = src[Math.floor(Math.random() * src.length)]
let caption = `*${command.toUpperCase()}*
โโโุงูููููุชโณโ ${(timeout / 1000).toFixed(2)} โ
*ุงุณุชุฎุฏู ุงูุณุญุจ ููุฃูุณุญุงุจ*
โโโุงููุฌูุงุฆูุฒุฉ๐ฐโ ${poin} ููุงุทโ
โฅ ๐ฌ๐ฎ๐๐ผ ๐๐ผ๐
`.trim()
// ุฅุฑุณุงู ุงูุตูุฑุฉ ูุฑุงุจุท ู ุจุงุดุฑ
let sentMsg = await conn.sendMessage(m.chat, {
image: { url: json.img },
caption: caption
}, { quoted: m })
// แดแดแด แด สส : https://t.me/YatoCoding
conn.tebakbendera[id] = [
sentMsg,
json,
poin,
setTimeout(() => {
if (conn.tebakbendera[id]) {
conn.reply(m.chat, `โฎ โโุงูุชูู ุงูููุชโโโฏ\nโโโุงูุงุฌูุงุจูุฉโ โ ${json.name}โ`, conn.tebakbendera[id][0])
delete conn.tebakbendera[id]
}
}, timeout)
]
}
handler.help = ['ุงุญุฒุฑ']
handler.tags = ['game']
handler.command = /^ุงุญุฒุฑ/i
export default handler
ููุฏ ุงูู ุนุงูุฌุฉ :
import similarity from 'similarity'
const threshold = 0.72
export async function before(m) {
let id = m.chat
if (!m.quoted || !m.quoted.fromMe || !m.quoted.isBaileys || !m.text || !/ุงุณุชุฎุฏู .*ุงูุณุญุจ/i.test(m.quoted.text) || /.*hhint/i.test(m.text))
return !0
this.tebakbendera = this.tebakbendera ? this.tebakbendera : {}
if (!(id in this.tebakbendera))
return this.reply(m.chat, '*ููุฏ ุงูุชูู ูุฐุง ุงูุณุคุงู ุงูุชุจ ุงุญุฒุฑ/ุนูู /ุนูู ูุชุธูุฑ ุฃุณุฃูู ุฌุฏูุฏู*', m)
if (m.quoted.id == this.tebakbendera[id][0].id) {
let isSurrender = /^(ุงูุณุญุจ|surr?ender)$/i.test(m.text)
if (isSurrender) {
clearTimeout(this.tebakbendera[id][3])
delete this.tebakbendera[id]
return this.reply(m.chat, '*ุทูุน ูุงุดู ู ุงุณุชุณูู :( !*', m)
}
let json = JSON.parse(JSON.stringify(this.tebakbendera[id][1]))
// แดแดแด แด สส : https://t.me/YatoCoding
if (m.text.toLowerCase() == json.name.toLowerCase().trim()) {
global.db.data.users[m.sender].exp += this.tebakbendera[id][2]
this.reply(m.chat, `*โโุงุฌูุงุจูุฉ ุตูุญูููุญูุฉโโ โฏ*\n\n*โโโุงููุฌูุงุฆูุฒุฉ๐ฐโ${this.tebakbendera[id][2]} ููุทู*`, m)
clearTimeout(this.tebakbendera[id][3])
delete this.tebakbendera[id]
} else if (similarity(m.text.toLowerCase(), json.name.toLowerCase().trim()) >= threshold)
m.reply(`*ููุฏ ููุช ุนูู ูุดู ุงููุฌุงุญ*!`)
else
this.reply(m.chat, `โโุงุฌูุงุจูุฉ ุฎูุงุทูุฆูุฉโโ โฏ`, m)
}
return !0
}
export const exp = 0
โค3
๐ ุงููุณู : [ ุงูุนุงุจ ]
๐ ุงูู ูุฒุฉ : [ ุนูู ]
๐ท ุงูููุน : Plugin ESM
โฒ ุงููุธููุฉ : ูุนุจุฉ ุงูุชุนุฑู ุนูู ุงูุดุฎุตูุฉ
โ๏ธ ุจูุงุณุทุฉ : https://t.me/YatoCoding
โ๏ธ ุงูุฏุนู : https://t.me/alkaser_0_0
ุงูููุฏ ุงูุฃุณุงุณู :
let timeout = 60000
let poin = 500
let handler = async (m, { conn, command }) => {
conn.tebakAin = conn.tebakAin ? conn.tebakAin : {}
let id = m.chat
if (id in conn.tebakAin) {
conn.reply(m.chat, 'โโูู ูุชู ุงูุงุฌุงุจุฉ ุนูู ุงูุณุคุงู ุจุนุฏโโ โฏ', conn.tebakAin[id].msg)
throw false
}
let src = await (await fetch('https://github.com/anasmods/Nandimonai/raw/main/game/eye.json')).json()
let json = src[Math.floor(Math.random() * src.length)]
let caption = `*${command.toUpperCase()}*
โโโุงูููููุชโณโ ${(timeout / 1000).toFixed(2)} โ
*ุงุณุชุฎุฏู ุงูุณุญุจ ููุฃูุณุญุงุจ*
โโโุงููุฌูุงุฆูุฒุฉ๐ฐโ ${poin} ููุงุทโ
โฅ ๐ฌ๐ฎ๐๐ผ ๐๐ผ๐
`.trim()
let msg = await conn.sendMessage(m.chat, { image: { url: json.img }, caption }, { quoted: m })
// แดแดแด แด สส : https://t.me/YatoCoding
conn.tebakAin[id] = {
msg,
json,
poin,
timeout: setTimeout(() => {
if (conn.tebakAin[id]) {
conn.reply(m.chat, `โฎ โโุงูุชูู ุงูููุชโโโฏ\nโโโุงูุงุฌูุงุจูุฉโ โ ${json.name}โ`, conn.tebakAin[id].msg)
delete conn.tebakAin[id]
}
}, timeout)
}
}
handler.help = ['ุนูู']
handler.tags = ['games']
handler.command = /^ุนูู/i
export default handler
ููุฏ ุงูู ุนุงูุฌุฉ :
import similarity from 'similarity'
const threshold = 0.72
export async function before(m) {
let conn = this
conn.tebakAin = conn.tebakAin ? conn.tebakAin : {}
let id = m.chat
if (!(id in conn.tebakAin)) return !0
let game = conn.tebakAin[id]
if (!m.quoted || m.quoted.id !== game.msg.key.id) return !0
let isSurrender = /^(ุงูุณุญุจ|surr?ender)$/i.test(m.text)
if (isSurrender) {
clearTimeout(game.timeout)
delete conn.tebakAin[id]
return conn.reply(m.chat, '*ุทูุน ูุงุดู ู ุงุณุชุณูู :( !*', m)
}
// แดแดแด แด สส : https://t.me/YatoCoding
let json = game.json
if (m.text.toLowerCase() == json.name.toLowerCase().trim()) {
global.db.data.users[m.sender].exp += game.poin
conn.reply(m.chat, `*โโุงุฌูุงุจูุฉ ุตูุญูููุญูุฉโโ โฏ*\n\n*โโโุงููุฌูุงุฆูุฒุฉ๐ฐโ ${game.poin} ููุทู*`, m)
clearTimeout(game.timeout)
delete conn.tebakAin[id]
} else if (similarity(m.text.toLowerCase(), json.name.toLowerCase().trim()) >= threshold) {
m.reply(`*ููุฏ ููุช ุนูู ูุดู ุงููุฌุงุญ*!`)
} else {
conn.reply(m.chat, `โโุงุฌูุงุจูุฉ ุฎูุงุทูุฆูุฉโโ โฏ`, m)
}
return !0
}
export const exp = 0
โค6๐1
Forwarded from Yato Coding | SC Bot Whatsapp MD | script | ุณูุฑูุจุช ูุงููุงุฏ ุจูุช ูุงุชุณุงุจ
ุจูุชโุนุฑุจู.zip
848.2 KB
ุจูุช ุนุฑุจู ุดุบุงูโ
ุฑุจุท ุฎุงุฑุฌู (creds.json) ุฏุงุฎู ู ุฌูุฏ Taibsessions
ูุญุชุงุฌ ุณูุฑูุฑ ู ุชูุณุท
ููู ุจุนุถ ุงูุฃุฎุทุงุก ุจุณ ุชูุฏุฑ ุชุนุฏู ุนููู ุจุฑุงุญุชู ูุชุตูุญู ุจุงูุดูู ุงูู ุชุฑูุฏู
ุงูุจูุช ุชุจุน ุจูุฏู ุงู ุชุงุฆุจ ู ุฏุฑู ุดุณู ู
https://t.me/whatsapp_botz
Please open Telegram to view this post
VIEW IN TELEGRAM
silana-lite-ofc-master.zip
517.4 KB
ุณูุฑุจุช silana lite
ูุฏุนู ุงููุบุฉ ุงูุนุฑุจูุฉ
ูุงุจู ููุชุนุฏูู ูุงูุชุทููุฑ
ุฑุจุท ุฏุงุฎูู ุดุบุงู 100%
ุงูุทุฑููุฉโ๏ธ :
ุชุฏุฎู ุงูู ุฌูุฏ ูุงูู ูู
function/settings.js
ุญุท ุฑูู ู ูู ู ุชุบูุฑ pairingNumber
ุงูุงุณูุฑุจุช ููู ุทูุฑ ุงูู ุบุฑุจู ููุฑ ุงูุฏูู
https://t.me/whatsapp_botz
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
๐ค1๐คฃ1
๐ ุงููุณู : [ ุงูุจุญุซ ]
๐ ุงูู ูุฒุฉ : [ tiktoksearch ]
๐ท ุงูููุน : Plugin ESM
โฒ ุงููุธููุฉ : ุจุญุซ ููุฏูููุงุช ุชูู ุชูู
โ๏ธ ุจูุงุณุทุฉ : https://t.me/YatoCoding
โ๏ธ ุงูุฏุนู : https://t.me/alkaser_0_0
ุงูููุฏ ุงูุฃุณุงุณู :
import axios from 'axios';
let sentVideos = new Set(); // ูุชุฎุฒูู ุงูููุฏูููุงุช ุงูุชู ุชู ุฅุฑุณุงููุง ูุชุฌูุจ ุงูุชูุฑุงุฑ
let handler = async (message, { conn, text }) => {
// ุฅุฑุณุงู ุฑุฏ ูุนู ุนูุฏ ุจุฏุก ุงูุจุญุซ
await conn.sendMessage(message.chat, { react: { text: "๐ฅ", key: message.key } });
// ุงูุชุญูู ู ู ุฅุฏุฎุงู ุงููุต
if (!text) {
return await conn.sendMessage(message.chat, { text: "โ ๏ธ *ุงูุฑุฌุงุก ุฅุฏุฎุงู ุงุณู ุงูููุฏูู ุฃู ุงููุต ุงูู ุทููุจ ููุจุญุซ ุนูู.*\n\nู ุซุงู: .ุชุตู ูู ุณูุฑุฉ ุงูู ุคู ููู" });
}
// ุฅุถุงูุฉ ููู ุฉ "ุชุตู ูู " ูููุต ุงูู ุฏุฎู
const query = `ุชุตู ูู ${text}`;
try {
// ุงูุจุญุซ ุนู ุงูููุฏูู
let { data: response } = await axios.get(`https://apis-starlights-team.koyeb.app/starlight/tiktoksearch?text=${query}`);
let searchResults = response.data;
// ุงูุชุญูู ู ู ูุฌูุฏ ูุชุงุฆุฌ
if (!searchResults.length) {
return await conn.sendMessage(message.chat, { text: `โ ๏ธ ูู ูุชู ุงูุนุซูุฑ ุนูู ูุชุงุฆุฌ ูููู ุฉ ุงูุจุญุซ: *${query}*` });
}
// ููุชุฑุฉ ุงูููุฏูููุงุช ุงูุชู ุชู ุฅุฑุณุงููุง ุจุงููุนู
let availableResults = searchResults.filter(result => !sentVideos.has(result.nowm));
// ุฅุฐุง ูุงูุช ูู ุงูููุฏูููุงุช ุชู ุฅุฑุณุงููุง ุจุงููุนู
if (availableResults.length === 0) {
return await conn.sendMessage(message.chat, { text: "โ ๏ธ ูู ุงูููุฏูููุงุช ุชู ุฅุฑุณุงููุง ุจุงููุนู." });
}
// ุงุฎุชูุงุฑ ููุฏูู ุนุดูุงุฆู
let result = availableResults[Math.floor(Math.random() * availableResults.length)];
// ุฅุถุงูุฉ ุงูููุฏูู ุงูุฐู ุชู ุฅุฑุณุงูู ุฅูู ุงูู ุฌู ูุนุฉ ูุชุฌูุจ ุชูุฑุงุฑู
sentVideos.add(result.nowm);
// ุฅุฑุณุงู ุงูููุฏูู
await conn.sendMessage(message.chat, {
video: { url: result.nowm }, // ุฑุงุจุท ุงูููุฏูู ุจุฏูู ุนูุงู ุฉ ู ุงุฆูุฉ
caption: `*๐น ุชุตู ูู ู ุทููุจ ๐น*\n\n๐ *ุงูุนููุงู*: ${result.title}\n๐ *ุงูุฑุงุจุท*: ${result.link}`
});
} catch (error) {
// ุงูุฑุฏ ูู ุญุงูุฉ ูุฌูุฏ ุฎุทุฃ
await conn.sendMessage(message.chat, { text: `โ ๏ธ ุญุฏุซ ุฎุทุฃ ุฃุซูุงุก ุงูุจุญุซ: ${error.message}` });
}
};
handler.help = ['ุชุตู ูู '];
handler.tags = ['search'];
handler.command = ['ุชุตู ูู ','tiktoksearch'];
export default handler;
โค2
plugin_manager.js
7.2 KB
๐ ุงููุณู : [ owner - dev ]
๐ ุงูู ูุฒุฉ : [ plugin manager ]
๐ท ุงูููุน : Plugin ESM
โฒ ุงููุธููุฉ : ุงุฏุงุฑุฉ ุงูุงุถุงูุงุช ูุงูู ูุฒุงุช ุจุณูููุฉ ูู (ุงุถุงูุฉ/ุชุนุฏูู/ุญุฐู/ุนุฑุถ/ูุดู/ูุณุชุฉ/ู ุนููู ุงุช/ุจุญุซ)
โ๏ธ ุจูุงุณุทุฉ : https://t.me/YatoCoding
โ๏ธ ุงูุฏุนู : https://t.me/alkaser_0_0
๐ฅ3โค2
๐ ุงููุณู : [ AI ]
๐ ุงูู ูุฒุฉ : [ gemini ]
๐ท ุงูููุน : Plugin ESM
โฒ ุงููุธููุฉ : ู ุญุงุฏุซุฉ ุงูุฐูุงุก ุงูุงุตุทูุงุนู
โ๏ธ ุจูุงุณุทุฉ : https://t.me/YatoCoding
โ๏ธ ุงูุฏุนู : https://t.me/alkaser_0_0
// plugins/gemini.js
// ๐ค YATO BOT MD - Gemini AI Text Chat ๐ง ๐ฌ
import https from 'https'
import fs from 'fs'
const agent = new https.Agent({ keepAlive: true })
function syncCookies(jar, setCookies = []) {
const list = Array.isArray(setCookies) ? setCookies : [setCookies]
for (const item of list) {
const pair = item.split(';')[0].split('=')
if (pair.length >= 2) {
jar[pair[0].trim()] = pair.slice(1).join('=').trim()
}
}
}
// แดแดแด แด สส : https://t.me/YatoCoding
const buildCookieString = (jar) => Object.entries(jar).map(([k, v]) => `${k}=${v}`).join('; ')
function cleanText(text) {
if (!text) return ''
text = text.replace(/https?:\/\/[a-z0-9.-]*googleusercontent\.com\/[^\s\n"<>]+/gi, '')
return text
.replace(/&#(\d+);/g, (_, n) => String.fromCodePoint(parseInt(n, 10)))
.replace(/&#x([0-9a-f]+);/gi, (_, h) => String.fromCodePoint(parseInt(h, 16)))
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, "'")
.replace(/ /g, ' ')
.trim()
}
function request(url, { method = 'GET', headers = {}, body = null, stream = false } = {}) {
return new Promise((resolve, reject) => {
const u = new URL(url)
const opts = {
hostname: u.hostname,
path: u.pathname + u.search,
method,
headers: body ? { ...headers, 'content-length': Buffer.byteLength(body) } : headers,
agent,
maxHeaderSize: 1048576
}
const req = https.request(opts, res => {
if (stream) return resolve({ res, headers: res.headers })
const chunks = []
res.on('data', c => chunks.push(c))
res.on('end', () => resolve({ text: Buffer.concat(chunks).toString(), headers: res.headers }))
})
req.on('error', reject)
if (body) req.write(body)
req.end()
})
}
async function startSession(cookieStr = null) {
const cookies = {}
if (!cookieStr) {
try {
if (fs.existsSync('cookies.json')) {
const cookieData = JSON.parse(fs.readFileSync('cookies.json', 'utf8'))
if (cookieData && Array.isArray(cookieData.cookies)) {
cookieData.cookies.forEach(c => cookies[c.name] = c.value)
}
}
} catch (err) {
console.error('Failed to load cookies.json:', err.message)
}
} else {
for (const pair of cookieStr.split(';')) {
const idx = pair.indexOf('=')
if (idx > 0) cookies[pair.slice(0, idx).trim()] = pair.slice(idx + 1).trim()
}
}
const pageRes = await request('https://gemini.google.com/app', {
headers: {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
...(Object.keys(cookies).length > 0 ? { 'cookie': buildCookieString(cookies) } : {})
}
})
syncCookies(cookies, pageRes.headers['set-cookie'])
const cfb2hMatch = pageRes.text.match(/"cfb2h":\s*"(.*?)"/)
const buildLabel = cfb2hMatch ? cfb2hMatch[1] : 'boq_assistant-bard-web-server_20260709.09_p0'
const atMatch = pageRes.text.match(/"SNlM0e":"([^"]+)"/)
const sidMatch = pageRes.text.match(/"FdrFJe":"(-?\d+)"/)
const atToken = atMatch ? atMatch[1] : null
const fSid = sidMatch ? sidMatch[1] : null
const batchRes = await request('https://gemini.google.com/_/BardChatUi/data/batchexecute?rpcids=maGuAc&source-path=%2F&hl=en-US&_reqid=1&rt=c', {
method: 'POST',
headers: {
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
'cookie': buildCookieString(cookies)
},
body: 'f.req=[[["maGuAc","[0]",null,"generic"]]]&'
})
syncCookies(cookies, batchRes.headers['set-cookie'])
const sessionId = Array.from({ length: 19 }, () => Math.floor(Math.random() * 10)).join('')
return {
cookies,
buildLabel,
sessionId,
atToken,
fSid,
reqId: Math.floor(Math.random() * 90000) + 10000
}
}
function buildStreamRequest(prompt, metadata, auth) {
const queryParams = new URLSearchParams({ hl: 'en-US', _reqid: String(auth.reqId), rt: 'c' })
if (auth.buildLabel) queryParams.set('bl', auth.buildLabel)
if (auth.fSid) queryParams.set('f.sid', auth.fSid)
else if (auth.sessionId) queryParams.set('f.sid', auth.sessionId)
const payload = [
[prompt, 0, null, null, null, null, 0], ['en-US'],
metadata, null, null, null, [1], 1, null, null, 1, 0, null, null, null, null, null, [[0]], 1,
null, null, null, null, null,
['', '', '', null, null, null, null, null, 0, null, 1, null, null, null, []],
null, null, 1, null, null, null, null, null, null, null,
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
1, null, null, null, null, [1]
]
const bodyParams = new URLSearchParams({ 'f.req': JSON.stringify([null, JSON.stringify(payload)]) })
if (auth.atToken) bodyParams.set('at', auth.atToken)
const body = bodyParams.toString()
return {
url: `https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate?${queryParams}`,
headers: {
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
'x-same-domain': '1',
'origin': 'https://gemini.google.com',
'referer': 'https://gemini.google.com/',
'cookie': buildCookieString(auth.cookies)
},
body
}
}
// แดแดแด แด สส : https://t.me/YatoCoding
// ------------------- [ Handler ุงูุดุงุช ุงููุตู ููุท ] -------------------
const handler = async (m, { conn, text, usedPrefix, command }) => {
if (!text) {
return m.reply(`๐ก *ุทุฑููุฉ ุงูุงุณุชุฎุฏุงู :*\n\nุงูุชุจ ุณุคุงูู ุจุนุฏ ุงูุฃู ุฑ ู ุจุงุดุฑุฉุ ู ุซุงู:\n\`${usedPrefix + command} ุงูุชุจ ูู ููุฏ ุจุงูุซูู ุจุณูุท\`\n\`${usedPrefix + command} ู ู ูู ูุงุชูุ\``)
}
await conn.sendPresenceUpdate('composing', m.chat)
try {
const auth = await startSession()
const metadata = ['', '', '', null, null, null, null, null, null, '']
const req = buildStreamRequest(text, metadata, auth)
const { res } = await request(req.url, { method: 'POST', headers: req.headers, body: req.body, stream: true })
let rawText = ''
let buf = ''
res.on('data', chunk => {
buf += chunk.toString('utf8')
if (buf.startsWith(")]}'")) buf = buf.substring(4).trimStart()
while (true) {
const nl = buf.indexOf('\n')
if (nl === -1) break
const size = parseInt(buf.substring(0, nl).trim(), 10)
if (isNaN(size)) { buf = buf.substring(nl + 1); continue }
if (buf.length < nl + size) break
const framePayload = buf.substring(nl, nl + size)
buf = buf.substring(nl + size)
try {
const frameData = JSON.parse(framePayload)
for (const item of (Array.isArray(frameData) ? frameData : [frameData])) {
const innerStr = item?.[2]
if (!innerStr) continue
const pj = JSON.parse(innerStr)
for (const cand of (pj?.[4] || [])) {
const raw = cand?.[1]?.[0] || ''
if (raw) rawText = raw
}
}
} catch (_) {}
}
})
res.on('end', async () => {
const result = cleanText(rawText)
if (result) {
await m.reply(`๐ง *Gemini AI:*\n\n${result}`)
} else {
await m.reply('โ ูู ุฃุณุชุทุน ุงูุญุตูู ุนูู ุฅุฌุงุจุฉุ ุญุงูู ุตูุงุบุฉ ุงูุณุคุงู ุจุดูู ุขุฎุฑ.')
}
})
} catch (error) {
console.error('Gemini Plugin Error:', error)
await m.reply('โ ุญุฏุซ ุฎุทุฃ ุฃุซูุงุก ุงูุงุชุตุงู ุจุงูุฐูุงุก ุงูุงุตุทูุงุนู.')
}
}
handler.help = ['gemini <ุณุคุงู>']
handler.tags = ['ai']
handler.command = /^(ุฌูู ููุงู|gemini|ุฌูู ููู|ai)$/i
export default handler
โค1
