iobroker.telegram
Version:
The adapter allows to send and receive telegram messages from ioBroker and to be a broker.
5 lines • 2.96 kB
JavaScript
import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{s as t,t as n}from"./_virtual_mf___mfe_internal__ActionTelegram__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BSNt_CsB.js";var r=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{}})),i=e((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),a=e((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.IGenericBlock=e.GenericBlock=void 0;var n=r();Object.defineProperty(e,"GenericBlock",{enumerable:!0,get:function(){return t(n).default}});var a=i();Object.defineProperty(e,"IGenericBlock",{enumerable:!0,get:function(){return a.IGenericBlock}})}))(),o=window.GenericBlock||a.GenericBlock,s=class e extends o{constructor(n){super(n,e.getStaticData()),t(this,`cachePromises`,void 0),this.cachePromises={}}static compile(e,t){let n=(e.text||``).replace(/"/g,`\\"`);return n?`// Telegram ${n||``}
\t\tconst subActionVar${e._id} = "${(n||``).replace(/"/g,`\\"`)}"${o.getReplacesInText(t)};
\t\t_sendToFrontEnd(${e._id}, {text: subActionVar${e._id}});
\t\tsendTo("${e.instance}", "send", ${e.user&&e.user!==`_`?`{user: "${(e.user||``).replace(/"/g,`\\"`)}", text: subActionVar${e._id}}`:`subActionVar${e._id}`});`:`// no text defined
_sendToFrontEnd(${e._id}, {text: 'No text defined'});`}renderDebug(e){return`${n.t(`Sent:`)} ${e.data.text}`}onValueChanged(e,t){t===`instance`&&this._setUsers(e)}_setUsers(e){if(e=e||this.state.settings.instance||`telegram.0`,this.cachePromises[e]||=this.props.socket.getState(`${e}.communicate.users`),!this.state.settings._id)return this.setState({inputs:[{nameRender:`renderSelect`,adapter:`telegram`,frontText:`Instance:`,defaultValue:`telegram.0`,attr:`instance`},{nameRender:`renderSelect`,attr:`user`,options:[{title:`telegram.0`,value:`telegram.0`}],defaultValue:``,frontText:`User:`},{nameRender:`renderModalInput`,attr:`text`,defaultValue:`Hallo`,nameBlock:``,frontText:`Text:`}]},()=>super.onTagChange());this.cachePromises[e].then(e=>{let t;try{let n=e!=null&&e.val?JSON.parse(e.val):null;t=n?Object.keys(n).map(e=>({title:n[e].userName||n[e].firstName,value:e})):[],t.unshift({title:`all`,value:``})}catch{t=[{title:`all`,value:``}]}this.setState({inputs:[{nameRender:`renderInstance`,adapter:`telegram`,frontText:`Instance:`,defaultValue:`telegram.0`,attr:`instance`},{nameRender:`renderSelect`,attr:`user`,options:t,defaultValue:`_`,frontText:`User:`},{nameRender:`renderModalInput`,attr:`text`,defaultValue:`Hallo`,nameBlock:``,frontText:`Text:`}]},()=>super.onTagChange())})}onTagChange(e){this._setUsers()}static getStaticData(){return{acceptedBy:`actions`,name:`Telegram`,id:`ActionTelegram`,adapter:`telegram`,title:`Sends message via telegram`,helpDialog:`You can use %s in the text to display current trigger value or %id to display the triggered object ID`}}getData(){return e.getStaticData()}};export{s as default};