UNPKG

iobroker.telegram

Version:

The adapter allows to send and receive telegram messages from ioBroker and to be a broker.

6 lines (5 loc) 3.02 kB
import{i as d,A as _}from"./ActionTelegram__mf_v__runtimeInit__mf_v__-DxlLd_3A.js";const{loadShare:m}=d,{initPromise:f}=_,g=f.then(a=>m("@iobroker/adapter-react-v5",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),p=await g.then(a=>a());var h=p,i={},o={};Object.defineProperty(o,"__esModule",{value:!0});let v=class{};o.default=v;var u={};Object.defineProperty(u,"__esModule",{value:!0});(function(a){var e=i.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(a,"__esModule",{value:!0}),a.IGenericBlock=a.GenericBlock=void 0;var t=o;Object.defineProperty(a,"GenericBlock",{enumerable:!0,get:function(){return e(t).default}});var r=u;Object.defineProperty(a,"IGenericBlock",{enumerable:!0,get:function(){return r.IGenericBlock}})})(i);const c=window.GenericBlock||i.GenericBlock;class s extends c{cachePromises;constructor(e){super(e,s.getStaticData()),this.cachePromises={}}static compile(e,t){const r=(e.text||"").replace(/"/g,'\\"');return r?`// Telegram ${r||""} const subActionVar${e._id} = "${(r||"").replace(/"/g,'\\"')}"${c.getReplacesInText(t)}; _sendToFrontEnd(${e._id}, {text: subActionVar${e._id}}); sendTo("${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`${h.I18n.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(t=>{let r;try{const n=t!=null&&t.val?JSON.parse(t.val):null;r=n?Object.keys(n).map(l=>({title:n[l].userName||n[l].firstName,value:l})):[],r.unshift({title:"all",value:""})}catch{r=[{title:"all",value:""}]}this.setState({inputs:[{nameRender:"renderInstance",adapter:"telegram",frontText:"Instance:",defaultValue:"telegram.0",attr:"instance"},{nameRender:"renderSelect",attr:"user",options:r,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 s.getStaticData()}}export{s as default};