UNPKG

@emby-chat/node-sdk

Version:
400 lines (365 loc) 10.9 kB
const express = require('express') const Emby = require('../index.js'); const path = require('path'); const { response } = require('express'); const emby = new Emby({ id: process.env.EMBY_ID, secret: process.env.EMBY_SECRET, api_token: process.env.EMBY_API_TOKEN, base_url: process.env.EMBY_BASE_URL }); // emby.getMessagesFromChat('user16sadasd', { // withUsers: true, // isDeleted: false, // extra: { // isQuestion: true, // // isSolved: false // } // }, 1, 1000).then(response => { // console.info(response); // if(response && response.messages && response.users) { // } // }) // .catch(e => { // console.error(e.message); // }); // emby.sendMessage('user16sadasd', { // 'id': 'sadasd23d21', // 'name': "Жендосикс" // }, [], "Сисел").then(response => { // console.info('message was successfully sent', response); // }) // .catch(e => { // console.error(e.message); // }); // emby.updateMessage('production_TOPIC_678', '614cb6c0f7f871001ca55f81', { // // text: "Сисел 4", // extra: { // isQuestion: true, // isSolved: true // }, // }, {returnMessage: true}).then((result) => { // console.info('result', result); // }); // return; // emby.updateMessage('60a943c52284ea287ff1fbef', { // text: "Снова привет" // }).then((result) => { // console.info('result', result); // }); // emby.updateMessage('60a943c52284ea287ff1fbef', { // text: "Снова привет 12", // isDeleted: true // }); // emby.updateMessage('60a943c52284ea287ff1fbef', { // text: "Снова привет 12", // }); // emby.updateMessage('60a943c52284ea287ff1fbef', { // text: "Снова привет 123", // extra: { // isQuestion: 'one' // } // }); //emby.updateMessage('60f8260545da61001c05c655', { // text: "Снова привет 123", // extra: { // isService: true // } //}, {replaceExtra: true}); //return; // emby.updateMessage('611453299730f1001b05e778', { // extra: { // isSolved: true // } // }).then((result) => { // console.info('result', result); // }); // return; /* emby.getMessagesFromChat('production_TOPIC_517', { withUsers: true, isDeleted: false, extra: { isQuestion: true, // isSolved: false } }, 1, 1000).then(response => { console.info(response); if(response && response.messages && response.users) { } }) .catch(e => { console.error(e.message); }); return; */ // emby.getMessagesFromChat('production_TOPIC_384', { /*emby.getMessagesFromChat('user16sadasd', { withUsers: true, isDeleted: false }, 1, 1000).then(response => { if(response && response.messages && response.users) { const messagesKeys = Object.keys(response.messages); const usersKeys = Object.keys(response.users); console.info(response.messages); setInterval(() => { const randomUser = response.users[usersKeys[Math.floor(Math.random() * usersKeys.length)]]; const randomMessage = response.messages[messagesKeys[Math.floor(Math.random() * messagesKeys.length)]]; if(randomUser && randomMessage) { emby.sendMessage('user16sadasd', { // emby.sendMessage('production_TOPIC_480', { 'id': randomUser._id, 'name': randomUser.name }, [], randomMessage.text).then(response => { console.info('message was successfully sent', response); }) .catch(e => { console.error(e.message); }); // emby.sendTyping('user16sadasd', randomUser._id) // .then(response => { // console.info('olo', response) // }) // .catch(e => { // console.error('e', e); // }); } }, 300); } }) .catch(e => { console.error(e.message); }); return;*/ // emby.getMessagesFromChat('production_TOPIC_384', { // emby.sendMessage('user16sadasd', { // 'id': 'user16', // 'name': 'HAHA' // }, [], 'test message from api').then(response => { // console.info('kala', response); // }) // .catch(e => { // console.error(e.message); // }); // return; // emby.getMessagesFromChat('968', { // // extra: { // // isQuestion: true // // }, // // withUsers: true // }, 1, 1 // ) // .then(response => { // console.info('tralalala', response); // }) // .catch(e => { // console.info('SSSO'); // console.error(e); // }); const app = express(); app.set('view engine', 'ejs') app.set('views', path.join(__dirname, '/views')); app.use('/chat-with-guest', function (request, response) { // chatUrl1 = emby.urlByChatId( // { // id: 'production_TOPIC_532', // socket_port: '8009' // }, // { // id: 'CWAHUKm8U4ChikaB6JGYd', // name: ' Daniel Castro ', // rights: { // edit_messages: 'any:extra', // pin_messages: 'for_everyone', // kick_users: 'on', // delete_messages: 'any', // send_messages: true // } // }, // [], // { // 'skin': 'default', // // 'skin': 'ebac_webinar', // 'skin_options': { // // 'displayHeader': false, // 'hide_day_delimiter': true, // 'display_header': true, // 'lang': 'en' // } // } // ); chatUrl1 = emby.urlByChatId( { id: 'https://markuper.com', title: 'Час со сметаной 666' }, { name: 'Custom Name for Guest User', session: 'terminator1987_666', }, [], { 'skin': 'default', // 'skin': 'ebac_qwebinar', 'skin_options': { // 'displayHeader': false, // 'lang': 'es' } } ); // chatUrl1 = emby.urlByChatId( // { // id: 'https://markuper.com', // title: 'Час со сметаной', // socket_port: 8008 // }, // { // id: 10000, // name: 'Steven King', // session: 'ololo', // email: 'test@markuper.com', // rights: { // kick_users: 'on', // delete_messages: 'any', // edit_messages: 'any:extra', // send_messages: false // } // }, // [], // { // 'skin': 'default', // // 'skin': 'ebac_webinar', // 'skin_options': { // // 'displayHeader': false, // 'lang': 'pt' // } // } // ); chatUrl2 = emby.urlByChatId( { id: 'https://markuper.com' }, { id: 10001, name: 'Howard Lovecraft', picture: 'https://via.placeholder.com/400', rights: { kick_users: 'on', edit_messages: 'any:extra', delete_messages: 'my', send_messages: true, pin_messages: 'for_everyone' } }, [], { 'skin': 'default', 'skin_options': { 'displayHeader': false, 'hide_day_delimiter': true, 'message_max_length': 150, 'lang': 'es' } } ); chatUrl3 = emby.urlByChatId( { id: 'https://markuper.com' }, { id: 10002, name: 'Nightmare Mike', rights: { kick_users: 'on', delete_messages: 'my', send_messages: true } }, [], { // 'skin': 'ebac_webinar', 'skin': 'default', 'skin_options': { 'display_header': false, 'hide_deleted_message': true, 'lang': 'pt' } } ); response.render('chat-with-guest', { title: 'Emby Chat with guest user', chatUrl1: chatUrl1, chatUrl2: chatUrl2, chatUrl3: chatUrl3 }); }); app.use('/chat-with-guest2', function (request, response) { chatUrl1 = emby.url({ chat: { id: 'https://markuper.com', title: 'Час со сметаной 666' }, user: { id: 10002, name: 'Nightmare Mike', rights: { kick_users: 'on', edit_messages: 'any', delete_messages: 'any', send_messages: true, track_read_state: true } }, extra: { 'skin': 'default', // 'skin': 'ebac_qwebinar', 'skin_options': { // 'displayHeader': false, // 'lang': 'es' } } }); chatUrl2 = emby.url({ // chat: { // id: 'https://markuper.com', // title: 'Час со сметаной 666' // }, user: { id: 10001, name: 'Howard Lovecraft', picture: 'https://via.placeholder.com/400', rights: { kick_users: 'on', edit_messages: 'any:extra', delete_messages: 'my', send_messages: true, pin_messages: 'for_everyone', send_read_state: true, } }, extra: { 'skin': 'default', 'skin_options': { 'displayHeader': true, 'hide_day_delimiter': true, 'message_max_length': 150, // 'lang': 'es' } } }); response.render('chat-with-guest2', { title: 'Emby Chat with guest for 2 users', chatUrl1: chatUrl1, chatUrl2: chatUrl2 }); }); app.use('/api-get-messages', function (request, response) { const chatId = 'https://markuper.com'; emby.getMessagesFromChat(chatId, { extra: { isQuestion: true } }, 1, 50); }); app.listen(9009);