Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { Client, Location, List, Buttons, LocalAuth} = require('./index');
- const qrcode = require('qrcode-terminal');
- const client = new Client({
- authStrategy: new LocalAuth(),
- puppeteer: {ffmpegPath: '/path/to/ffmpeg.exe',
- args: ['--no-sandbox','--disable-setuid-sandbox'],
- authStrategy: new LocalAuth()
- },
- });
- client.initialize();
- client.on('loading_screen', (percent, message) => {
- console.log('LOADING SCREEN', percent, message);
- });
- client.on('qr', (qr) => {
- qrcode.generate(qr, {small: true});
- // NOTE: This event will not be fired if a session is specified.
- console.log('QR RECEIVED', qr);
- });
- client.on('authenticated', () => {
- console.log('AUTHENTICATED');
- });
- client.on('auth_failure', msg => {
- // Fired if session restore was unsuccessful
- console.error('AUTHENTICATION FAILURE', msg);
- });
- client.on('ready', () => {
- console.log('READY');
- });
- client.on('message', async msg => {
- console.log('MESSAGE RECEIVED', msg);
- if (msg.body === '!ping reply') {
- // Send a new message as a reply to the current one
- msg.reply('pong');
- } else if (msg.body === '!ping') {
- // Send a new message to the same chat
- client.sendMessage(msg.from, 'pong');
- } else if (msg.body.startsWith('!sendto ')) {
- // Direct send a new message to specific id
- let number = msg.body.split(' ')[1];
- let messageIndex = msg.body.indexOf(number) + number.length;
- let message = msg.body.slice(messageIndex, msg.body.length);
- number = number.includes('@c.us') ? number : `${number}@c.us`;
- let chat = await msg.getChat();
- chat.sendSeen();
- client.sendMessage(number, message);
- } else if (msg.body.startsWith('!subject ')) {
- // Change the group subject
- let chat = await msg.getChat();
- if (chat.isGroup) {
- let newSubject = msg.body.slice(9);
- chat.setSubject(newSubject);
- } else {
- msg.reply('This command can only be used in a group!');
- }
- } else if (msg.body.startsWith('!echo ')) {
- // Replies with the same message
- msg.reply(msg.body.slice(6));
- } else if (msg.body.startsWith('!desc ')) {
- // Change the group description
- let chat = await msg.getChat();
- if (chat.isGroup) {
- let newDescription = msg.body.slice(6);
- chat.setDescription(newDescription);
- } else {
- msg.reply('This command can only be used in a group!');
- }
- } else if (msg.body === '!leave') {
- // Leave the group
- let chat = await msg.getChat();
- if (chat.isGroup) {
- chat.leave();
- } else {
- msg.reply('This command can only be used in a group!');
- }
- } else if (msg.body.startsWith('!join ')) {
- const inviteCode = msg.body.split(' ')[1];
- try {
- await client.acceptInvite(inviteCode);
- msg.reply('Joined the group!');
- } catch (e) {
- msg.reply('That invite code seems to be invalid.');
- }
- } else if (msg.body === '!groupinfo') {
- let chat = await msg.getChat();
- if (chat.isGroup) {
- msg.reply(`
- *Group Details*
- Name: ${chat.name}
- Description: ${chat.description}
- Created At: ${chat.createdAt.toString()}
- Created By: ${chat.owner.user}
- Participant count: ${chat.participants.length}
- `);
- } else {
- msg.reply('This command can only be used in a group!');
- }
- } else if (msg.body === '!chats') {
- const chats = await client.getChats();
- client.sendMessage(msg.from, `The bot has ${chats.length} chats open.`);
- } else if (msg.body === '!info') {
- let info = client.info;
- client.sendMessage(msg.from, `
- *Connection info*
- User name: ${info.pushname}
- My number: ${info.wid.user}
- Platform: ${info.platform}
- `);
- } else if (msg.body === '!mediainfo' && msg.hasMedia) {
- const attachmentData = await msg.downloadMedia();
- msg.reply(`
- *Media info*
- MimeType: ${attachmentData.mimetype}
- Filename: ${attachmentData.filename}
- Data (length): ${attachmentData.data.length}
- `);
- } else if (msg.body === '!quoteinfo' && msg.hasQuotedMsg) {
- const quotedMsg = await msg.getQuotedMessage();
- quotedMsg.reply(`
- ID: ${quotedMsg.id._serialized}
- Type: ${quotedMsg.type}
- Author: ${quotedMsg.author || quotedMsg.from}
- Timestamp: ${quotedMsg.timestamp}
- Has Media? ${quotedMsg.hasMedia}
- `);
- } else if (msg.body === '!resendmedia' && msg.hasQuotedMsg) {
- const quotedMsg = await msg.getQuotedMessage();
- if (quotedMsg.hasMedia) {
- const attachmentData = await quotedMsg.downloadMedia();
- client.sendMessage(msg.from, attachmentData, { caption: 'Here\'s your requested media.' });
- }
- } else if (msg.body === '!location') {
- msg.reply(new Location(37.422, -122.084, 'Googleplex\nGoogle Headquarters'));
- } else if (msg.location) {
- msg.reply(msg.location);
- } else if (msg.body.startsWith('!status ')) {
- const newStatus = msg.body.split(' ')[1];
- await client.setStatus(newStatus);
- msg.reply(`Status was updated to *${newStatus}*`);
- } else if (msg.body === '!mention') {
- const contact = await msg.getContact();
- const chat = await msg.getChat();
- chat.sendMessage(`Hi @${contact.number}!`, {
- mentions: [contact]
- });
- } else if (msg.body === '!delete') {
- if (msg.hasQuotedMsg) {
- const quotedMsg = await msg.getQuotedMessage();
- if (quotedMsg.fromMe) {
- quotedMsg.delete(true);
- } else {
- msg.reply('I can only delete my own messages');
- }
- }
- } else if (msg.body === '!pin') {
- const chat = await msg.getChat();
- await chat.pin();
- } else if (msg.body === '!archive') {
- const chat = await msg.getChat();
- await chat.archive();
- } else if (msg.body === '!mute') {
- const chat = await msg.getChat();
- // mute the chat for 20 seconds
- const unmuteDate = new Date();
- unmuteDate.setSeconds(unmuteDate.getSeconds() + 20);
- await chat.mute(unmuteDate);
- } else if (msg.body === '!ketik') {
- const chat = await msg.getChat();
- // simulates typing in the chat
- chat.sendStateTyping();
- } else if (msg.body === '!rekam') {
- const chat = await msg.getChat();
- // simulates recording audio in the chat
- chat.sendStateRecording();
- } else if (msg.body === '!clearstate') {
- const chat = await msg.getChat();
- // stops typing or recording in the chat
- chat.clearState();
- } else if (msg.body === '!jumpto') {
- if (msg.hasQuotedMsg) {
- const quotedMsg = await msg.getQuotedMessage();
- client.interface.openChatWindowAt(quotedMsg.id._serialized);
- }
- } else if (msg.body === '!buttons') {
- let button = new Buttons('Button body',[{body:'bt1'},{body:'bt2'},{body:'bt3'}],'title','footer');
- client.sendMessage(msg.from, button);
- } else if (msg.body === '!list') {
- let sections = [{title:'sectionTitle',rows:[{title:'ListItem1', description: 'desc'},{title:'ListItem2'}]}];
- let list = new List('List body','btnText',sections,'Title','footer');
- client.sendMessage(msg.from, list);
- } else if (msg.body === '!reaction') {
- msg.react('👍');
- }
- });
- function getRandomItem(arr) {
- // get random index value
- const randomIndex = Math.floor(Math.random() * arr.length);
- // get random item
- const item = arr[randomIndex];
- return item;
- }
- const array = ['💛','💙','💜','💚','❤','💔','💗','💓','💕','💖','💞','💘','💌'];
- const result = getRandomItem(array);
- client.on('message', async (msg) => {
- const chat = await msg.getChat();
- const contact = await msg.getContact();
- await msg.react(getRandomItem(array));
- });
- //disini Edit
- sleep(15000).then(() => {
- client.on('message', async (msg) => {
- const chat = await msg.getChat();
- const contact = await msg.getContact();
- chat.sendStateRecording();
- // await chat.sendStateTyping();
- var n=20000000;
- for(var i=1; i<=n; i++){
- await sleep(15000);
- await console.log(chat.sendStateTyping());
- }
- });
- })
- function sleep(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- // Ketik
- //Rekam
- /*
- client.on('message', async (msg) => {
- const chat = await msg.getChat();
- const contact = await msg.getContact();
- await chat.sendStateTyping();
- }); */
- client.on('message_create', (msg) => {
- // Fired on all message creations, including your own
- if (msg.fromMe) {
- // do stuff here
- }
- });
- client.on('message_revoke_everyone', async (after, before) => {
- // Fired whenever a message is deleted by anyone (including you)
- console.log(after); // message after it was deleted.
- if (before) {
- console.log(before); // message before it was deleted.
- }
- });
- client.on('message_revoke_me', async (msg) => {
- // Fired whenever a message is only deleted in your own view.
- console.log(msg.body); // message before it was deleted.
- });
- client.on('message_ack', (msg, ack) => {
- /*
- == ACK VALUES ==
- ACK_ERROR: -1
- ACK_PENDING: 0
- ACK_SERVER: 1
- ACK_DEVICE: 2
- ACK_READ: 3
- ACK_PLAYED: 4
- */
- if(ack == 3) {
- // The message was read
- }
- });
- client.on('group_join', (notification) => {
- // User has joined or been added to the group.
- console.log('join', notification);
- notification.reply('Selamat Datang, yang baru Gabung..');
- });
- client.on('group_leave', (notification) => {
- // User has left or been kicked from the group.
- console.log('leave', notification);
- notification.reply('Yah, Ada yang Keluar...');
- });
- client.on('group_update', (notification) => {
- // Group picture, subject or description has been updated.
- console.log('update', notification);
- });
- client.on('change_state', state => {
- console.log('CHANGE STATE', state );
- });
- // Change to false if you don't want to reject incoming calls
- let rejectCalls = false; //false aktif
- client.on('call', async (call) => {
- console.log('Call received, rejecting. GOTO Line 261 to disable', call);
- if (rejectCalls) await call.reject();
- await client.sendMessage(call.from, `[${call.fromMe ? 'Outgoing' : 'Incoming'}] Phone call from ${call.from}, type ${call.isGroup ? 'group' : ''} ${call.isVideo ? 'video' : 'audio'} call. ${rejectCalls ? 'This call was automatically rejected by the script.' : ''}`);
- });
- client.on('disconnected', (reason) => {
- console.log('Client was logged out', reason);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement