adaptorex
Version:
Connect all your live interactive storytelling devices and software
1,095 lines (1,094 loc) • 37.2 kB
JSON
{
"settings": {
"type": "object",
"title": "Telegram API Settings",
"properties": {
"api_id": {
"type": "number",
"title": "api id",
"minLength": 1,
"required": true,
"description": "create/find your API key on my.telegram.org"
},
"api_hash": {
"type": "string",
"title": "api hash",
"required": true,
"minLength": 1,
"description": "create/find your API hash on my.telegram.org"
}
}
},
"collections": {
"accounts": {
"type": "object",
"title": "Account",
"description": "Control a Telegram account. Send messages from and receive messages to this account.",
"required": ["name", "settings"],
"options": {
"disable_edit_json": true,
"disable_properties": true
},
"properties": {
"name": {
"type": "string",
"pattern": "^[0-9A-Za-z_-]*$"
},
"settings": {
"type": "object",
"description": "set the connection properties for this telegram account",
"additionalProperties": false,
"required": ["phone_number"],
"properties": {
"phone_number": {
"type": "string",
"title": "phone number",
"pattern": "^[+][0-9]{7,20}$",
"required": true,
"description": "The telegram accounts phone number in the format +49123456789."
},
"password": {
"type": "string",
"title": "password",
"format": "password",
"description": "enter password if account is password protected"
},
"level": {
"title": "default level",
"type": "string",
"description": "Define level, that is used, once this account is contacted and no session registered a routing for the contacting chat.",
"enum": []
},
"chat_argument": {
"title": "chat level argument",
"type": "string",
"default": "Player"
},
"test": {
"type": "boolean",
"title": "test",
"description": "set true if this is supposed to be a test account"
}
}
},
"telegram": { "$ref": "#/definitions/telegram_peer" },
"chats": {
"type": "array",
"format": "table",
"options": {
"collapsed": true,
"disable_array_add": true,
"disable_array_delete": true,
"disable_array_delete_all_rows": true,
"disable_array_delete_last_row": true,
"disable_array_reorder": true
},
"items": {
"type": "string",
"readonly": true
}
}
}
},
"bots": {
"type": "object",
"title": "Bot",
"description": "Control a Telegram Bot. Send messages from and receive messages to this bot.",
"required": ["name", "settings"],
"options": {
"disable_edit_json": true,
"disable_properties": true
},
"properties": {
"name": {
"type": "string",
"pattern": "^[0-9A-Za-z_-]*$"
},
"settings": {
"type": "object",
"description": "set the connection properties for this telegram account",
"additionalProperties": false,
"required": ["token"],
"properties": {
"token": {
"type": "string",
"title": "bot api token",
"description": "The telegram bot token you received when creating the bot e.g. via @BotFather."
},
"level": {
"title": "default level",
"type": "string",
"description": "Define level, that is used, once this account is contacted and no session registered a routing for the contacting chat.",
"enum": []
},
"chat_argument": {
"title": "chat level argument",
"type": "string",
"default": "Player"
}
}
},
"telegram": { "$ref": "#/definitions/telegram_peer" },
"chats": {
"type": "array",
"format": "table",
"options": {
"collapsed": true,
"disable_array_add": true,
"disable_array_delete": true,
"disable_array_delete_all_rows": true,
"disable_array_delete_last_row": true,
"disable_array_reorder": true
},
"items": {
"type": "string",
"readonly": true
}
}
}
}
},
"data_variables": {
"players": {
"telegram": {
"type": "object",
"properties": {
"first_name": { "type": "string" },
"last_name": { "type": "string" },
"id": { "type": "integer" },
"phone": { "type": "string" },
"username": { "type": "string" },
"type": { "type": "string" },
"bot": { "type": "boolean" }
}
}
},
"chats": {
"name": { "type": "string" },
"title": { "type": "string" },
"members": {
"type": "array",
"items": {
"type": "integer"
}
},
"member_count": {
"type": "integer"
},
"admin": { "type": "string" },
"telegram": {
"type": "object",
"properties": {
"date": { "type": "string" },
"id": { "type": "integer" },
"participants_count": { "type": "integer" },
"title": { "type": "string" }
}
},
"polls": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"action_variables": {
"onMessage": {
"text": { "type": "string" },
"media": { "type": "string" },
"match": { "type": "string" },
"id": { "type": "integer" },
"date": { "type": "string" },
"from_id": { "type": "integer" },
"to_id": { "type": "integer" },
"peer_type": { "type": "string" },
"peer": { "type": "integer" },
"download": { "type": "object" },
"lat": { "type": "number" },
"long": { "type": "number" }
},
"buttons": {
"button": { "type": "string" },
"match": { "type": "string" },
"id": { "type": "integer" },
"date": { "type": "string" },
"from_id": { "type": "integer" },
"to_id": { "type": "integer" },
"peer_type": { "type": "string" },
"peer": { "type": "integer" }
}
},
"definitions": {
"telegram_agent": {
"title": "Telegram Account",
"propertyOrder": 1,
"type": "string",
"required": true,
"enum": [],
"isAdaptorContent": false
},
"telegram_peer": {
"type": "object",
"additionalProperties": false,
"options": {
"disable_edit_json": true,
"disable_properties": true
},
"properties": {
"first_name": { "type": "string", "readonly": true },
"last_name": { "type": "string", "readonly": true },
"id": { "type": "integer", "readonly": true },
"phone": { "type": "string", "readonly": true },
"username": { "type": "string", "readonly": true },
"type": { "type": "string", "readonly": true },
"bot": { "type": "boolean", "readonly": true }
}
},
"permissions": {
"type": "object",
"description": "Assign or limit permissions for non admin group members. Setting a value to false, forbids this option.",
"properties": {
"view_messages": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "View messages"
},
"send_messages": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send messages"
},
"send_media": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send media"
},
"send_stickers": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send stickers"
},
"send_gifs": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send GIFs"
},
"send_games": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send games"
},
"send_inline": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Use inline bots"
},
"send_polls": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Send polls"
},
"change_info": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Change group info"
},
"invite_users": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Invite users"
},
"pin_messages": {
"type": "boolean",
"format": "checkbox",
"default": true,
"title": "Pin messages"
}
}
},
"admin": {
"type": "object",
"title": "set admin",
"description": "grant or revoke admin rights for chat members. For small Group chats you can only toggle if member is admin.",
"required": ["members", "is_admin"],
"properties": {
"members": {
"type": "array",
"format": "table",
"items": {
"type": "string",
"isAdaptorContent": false
}
},
"is_admin": {
"title": "is admin",
"type": "boolean"
},
"change_info": {
"type": "boolean"
},
"post_messages": {
"type": "boolean"
},
"edit_messages": {
"type": "boolean"
},
"delete_message": {
"type": "boolean"
},
"ban_users": {
"type": "boolean"
},
"invite_users": {
"type": "boolean"
},
"pin_messages": {
"type": "boolean"
},
"add_admins": {
"type": "boolean"
},
"title": {
"type": "string"
}
}
},
"languages": {
"type": "string",
"enum": [
"da-DK",
"de-DE",
"en-AU",
"en-CA",
"en-GB",
"en-IN",
"en-US",
"ca-ES",
"es-ES",
"es-MX",
"fi-FI",
"fr-CA",
"fr-FR",
"it-IT",
"ja-JP",
"ko-KR",
"nb-NO",
"nl-NL",
"pl-PL",
"pt-BR",
"pt-PT",
"ru-RU",
"sv-SE",
"zh-CN",
"zh-HK",
"zh-TW"
],
"isAdaptorContent": false
},
"respond": {
"type": "array",
"format": "table",
"description": "On match, respond or reply to the incoming message. ",
"items": {
"type": "object",
"title": "response",
"properties": {
"mode": {
"type": "string",
"enum": ["respond", "reply"],
"isAdaptorContent": false
},
"text": {
"type": "string",
"minLength": 1,
"format": "textarea"
}
}
}
}
},
"actions": {
"sendMessage": {
"type": "object",
"title": "Send Message",
"description": "Send a text message.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/sendMessage.html",
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name}`, subtitle:`from ${payload.agent?.replace(regex, '')} to ${payload.to}`, body:[{ text: payload.text }]} }",
"resolveAdaptorVariables": false,
"required": ["agent", "to", "text"],
"default": { "to": "Player" },
"additionalProperties": false,
"properties": {
"agent": {
"title": "from",
"$ref": "#/definitions/telegram_items"
},
"to": { "$ref": "#/definitions/chat" },
"text": {
"type": "string",
"format": "textarea"
},
"typing": {
"type": "string",
"description": "Set a delay in seconds to show the 'typing' indicator before the message is sent. If you do not select this option, a delay will be calculated based on the length of the message you send. Set to 0 to not show he indicator at all."
},
"pin": {
"type": "boolean",
"format": "checkbox",
"description": "Pin the message and notify chat user(s)."
}
}
},
"sendFile": {
"type": "object",
"title": "Send File",
"description": "Send a picture, document, video or voice message.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/sendFile.html",
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name}`, subtitle:`from ${payload.agent?.replace(regex, '')} to ${payload.to}`, body:[{ text: payload.file }]} }",
"resolveAdaptorVariables": false,
"required": ["agent", "to", "file", "format"],
"default": { "to": "Player" },
"additionalProperties": false,
"properties": {
"agent": {
"title": "from",
"$ref": "#/definitions/telegram_items"
},
"to": { "$ref": "#/definitions/chat" },
"file": { "$ref": "#/definitions/files" },
"caption": {
"type": "string",
"format": "textarea"
},
"format": {
"type": "string",
"enum": ["auto", "document", "voice", "video"],
"isAdaptorContent": false
},
"pin": {
"type": "boolean",
"format": "checkbox",
"description": "Pin the media message and notify chat user(s)"
}
}
},
"sendGeo": {
"title": "Send Geo Location",
"description": "Send a small map widget that points to a geo location.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/sendGeo.html",
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name}`, subtitle:`from ${payload.agent?.replace(regex, '')} to ${payload.to}`, body:[{ text: `Lat: ${payload.latitude.substr(0, 27)}`},{ text: `Lon: ${payload.longitude.substr(0, 27)}`}]} }",
"resolveAdaptorVariables": false,
"default": { "to": "Player" },
"type": "object",
"required": ["agent", "to", "longitude", "latitude"],
"additionalProperties": false,
"properties": {
"agent": {
"title": "from",
"$ref": "#/definitions/telegram_items"
},
"to": { "$ref": "#/definitions/chat" },
"latitude": {
"type": "string",
"description": "Geo Coordinate Latitude value. E.g. 53.5823000"
},
"longitude": {
"type": "string",
"description": "Geo Coordinate Longitude value. E.g. 9.9693000"
}
}
},
"sendPoll": {
"title": "Send Poll",
"description": "Send a poll for group members to vote.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/sendPoll.html",
"resolveAdaptorVariables": false,
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name} ${payload.name}`, subtitle:`from ${payload.agent?.replace(regex, '')} to ${payload.to}`, body:[{text: payload.question}]} }",
"default": {
"to": "Groupchat",
"private": true,
"multiple_choice": false,
"quiz": false
},
"type": "object",
"required": [
"agent",
"to",
"name",
"question",
"answers",
"private",
"multiple_choice"
],
"additionalProperties": false,
"properties": {
"agent": {
"title": "from",
"$ref": "#/definitions/telegram_items"
},
"to": { "$ref": "#/definitions/chat" },
"name": {
"type": "string",
"title": "Name",
"pattern": "^[^\\s]*$"
},
"question": {
"type": "string",
"title": "Question"
},
"answers": {
"type": "array",
"title": "Answer Options",
"format": "table",
"items": {
"type": "string",
"title": "Answer"
}
},
"private": {
"type": "boolean",
"title": "Anonymous Vote",
"format": "checkbox"
},
"multiple_choice": {
"type": "boolean",
"title": "Multiple Choice",
"format": "checkbox"
}
}
},
"sendQuiz": {
"title": "Send Quiz",
"description": "Send a poll that has a correct answer.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/sendQuiz.html",
"resolveAdaptorVariables": false,
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name} ${payload.name}`, subtitle:`from ${payload.agent?.replace(regex, '')} to ${payload.to}`, body:[{text: payload.question}]} }",
"default": { "to": "Groupchat" },
"type": "object",
"required": [
"agent",
"to",
"name",
"question",
"answers",
"correct_answer"
],
"additionalProperties": false,
"properties": {
"agent": {
"title": "from",
"$ref": "#/definitions/telegram_items"
},
"to": { "$ref": "#/definitions/chat" },
"name": {
"type": "string",
"title": "Name",
"pattern": "^[^\\s]*$"
},
"question": {
"type": "string",
"title": "Question"
},
"answers": {
"type": "array",
"title": "Answer Options",
"format": "table",
"items": {
"type": "string",
"title": "Answer"
}
},
"correct_answer": {
"type": "string",
"title": "Correct Answer",
"watch": {
"answer_options": "answers"
},
"enumSource": "answer_options"
},
"private": {
"type": "boolean",
"title": "Anonymous Quiz",
"format": "checkbox"
}
}
},
"castVote": {
"type": "object",
"title": "Cast Vote",
"description": "Vote in a Chat Poll that was created with Send Poll.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/castVote.html",
"template": "{const regex = new RegExp(`${action.plugin}\\.[a-zA-Z]*\\.`); return { title:`telegram ${action.name}`, subtitle:`${payload.agent?.replace(regex, '')} cast vote(s) in ${payload.to} poll ${payload.poll}`, body:[{ text: `${payload.options}` }]} }",
"resolveAdaptorVariables": false,
"required": ["agent", "to", "poll", "options"],
"default": { "to": "Player", "options": [] },
"additionalProperties": false,
"properties": {
"agent": {
"$ref": "#/definitions/telegram_accounts"
},
"to": { "$ref": "#/definitions/chat" },
"poll": {
"type": "string",
"description": "Name of poll, as defined in 'Send Poll', to cast vote for."
},
"options": {
"type": "array",
"format": "table",
"description": "Index of Poll option (first option is 0) or title of Poll option.",
"items": {
"title": "option",
"type": "string"
}
}
}
},
"buttons": {
"title": "Buttons",
"description": "Send/show buttons and respond to button clicks. Only for Bots.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/buttons.html",
"resolveAdaptorVariables": false,
"mode": "listen",
"template": "{}",
"default": { "to": "Player", "message": "", "buttons": [{}] },
"type": "object",
"required": ["agent", "to", "type", "message", "buttons"],
"additionalProperties": false,
"properties": {
"agent": {
"title": "Bot",
"$ref": "#/definitions/telegram_bots"
},
"to": { "$ref": "#/definitions/chat" },
"from": {
"type": "array",
"description": "User(s) that can click the buttons in the chat. If chat is not a group chat or channel this will be ignored.",
"isAdaptorContent": false,
"default": [""],
"items": {
"type": "string",
"format": "table",
"title": "member"
}
},
"type": {
"type": "string",
"enum": ["inline", "keyboard"]
},
"message": {
"type": "string"
},
"typing": {
"type": "string",
"description": "Set a delay in seconds to show the 'typing' indicator before the buttons are sent. If you do not select this option, a delay will be calculated based on the length of the message you send. Set to 0 to not show he indicator at all."
},
"buttons": {
"type": "array",
"title": "Buttons",
"items": {
"type": "array",
"title": "row",
"items": {
"type": "object",
"title": "button",
"required": ["label"],
"additionalProperties": false,
"properties": {
"label": {
"type": "string"
},
"respond": {
"$ref": "#/definitions/respond"
},
"next": {
"$ref": "#/definitions/next"
}
}
}
}
},
"keep_listening": { "$ref": "#/definitions/keep_listening" }
}
},
"onMessage": {
"type": "object",
"title": "On Incoming Message",
"description": "React to the content of incoming messages.",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/onMessage.html",
"required": ["agent", "chat"],
"mode": "listen",
"resolveAdaptorVariables": false,
"additionalProperties": false,
"properties": {
"agent": {
"title": "Account or Bot",
"$ref": "#/definitions/telegram_items"
},
"chat": { "$ref": "#/definitions/chat" },
"from": {
"type": "array",
"description": "User (Player, Account or Bot) the message in the chat originates from. If chat is not a group chat or channel this will be ignored.",
"isAdaptorContent": false,
"default": [""],
"items": {
"type": "string",
"format": "table",
"title": "member"
}
},
"priority": {
"type": "number",
"default": 1,
"description": "Ignore this if there is an incoming message action with the same members of higher priority in a different path, prefer this otherwise. If priority is the same, latest 'On Incoming Message' is preferred.",
"enum": [0, 1, 2],
"options": {
"enum_titles": ["low", "normal", "high"]
}
},
"if": {
"type": "array",
"title": "if",
"items": {
"title": "condition",
"oneOf": [
{
"title": "Equals",
"description": "If message equals the or any of the following values",
"type": "object",
"additionalProperties": false,
"required": ["equals"],
"properties": {
"equals": { "$ref": "#/definitions/equals" },
"case_sensitive": {
"type": "boolean",
"format": "checkbox",
"title": "case sensitive"
},
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Contains",
"description": "If message contains the or any of the following values",
"type": "object",
"additionalProperties": false,
"required": ["contains"],
"properties": {
"contains": { "$ref": "#/definitions/contains" },
"case_sensitive": {
"type": "boolean",
"format": "checkbox",
"title": "case sensitive"
},
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Contains Media",
"description": "If message contains some type of media",
"type": "object",
"required": ["media"],
"additionalProperties": false,
"properties": {
"media": {
"propertyOrder": 2,
"oneOf": [
{
"title": "contains",
"type": "string",
"enum": [
"photo",
"image",
"document",
"audio",
"voice",
"video",
"sticker",
"geo",
"geolive",
"contact",
"poll",
"webpage",
"venue",
"game",
"dice",
"invoice",
"downloadable",
"any",
"unsupported",
"empty",
"unknown"
],
"required": true,
"isAdaptorContent": false
},
{
"title": "contains any of",
"type": "array",
"format": "table",
"default": ["", ""],
"items": {
"type": "string",
"title": "media type",
"enum": [
"photo",
"image",
"document",
"audio",
"voice",
"video",
"sticker",
"geo",
"geolive",
"contact",
"poll",
"webpage",
"venue",
"game",
"dice",
"invoice",
"unsupported",
"empty",
"unknown"
],
"isAdaptorContent": false
}
}
]
},
"download": {
"type": "object",
"required": ["dir"],
"description": "Download media from incoming message if it is photo, image, document, audio, voice, video or sticker",
"properties": {
"dir": {
"type": "string",
"title": "directory",
"default": "telegram/",
"description": "Set a directory where to store the downloaded media file."
},
"file": {
"type": "string",
"title": "filename",
"default": "",
"description": "Set an optional filename under which to store the downloaded media. Do not provide a file extension hence it will be appended automatically."
},
"variable": {
"type": "string",
"title": "variable",
"default": "",
"description": "Store the download path to a local variable."
}
}
},
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Less Than",
"description": "If message is value that is less than",
"type": "object",
"default": { "lessThan": "" },
"additionalProperties": false,
"properties": {
"lessThan": { "$ref": "#/definitions/lessThan" },
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Greater Than",
"description": "If message is value that is greater than",
"type": "object",
"default": { "greaterThan": "" },
"additionalProperties": false,
"properties": {
"greaterThan": { "$ref": "#/definitions/greaterThan" },
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Regular Expression",
"description": "If regular expression returns anything when used on incoming message",
"type": "object",
"default": { "regex": "" },
"additionalProperties": false,
"properties": {
"regex": { "$ref": "#/definitions/regex" },
"respond": { "$ref": "#/definitions/respond" },
"case_sensitive": {
"type": "boolean",
"format": "checkbox",
"title": "case sensitive"
},
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Javascript Function",
"description": "If javascript function returns true. Use value as function argument.",
"type": "object",
"default": { "javascript": "" },
"additionalProperties": false,
"properties": {
"javascript": { "$ref": "#/definitions/javascript" },
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
},
{
"title": "Database Query",
"description": "If database find query returns a valid document. You can use 'On Incoming Message' 'text' action var in query: [[statename.actionname.text]]",
"type": "object",
"default": { "find": "" },
"additionalProperties": false,
"properties": {
"find": { "$ref": "#/definitions/find" },
"respond": { "$ref": "#/definitions/respond" },
"next": { "$ref": "#/definitions/next" }
}
}
]
}
},
"else": {
"type": "object",
"title": "else",
"additionalProperties": false,
"properties": {
"next": { "$ref": "#/definitions/next" },
"respond": { "$ref": "#/definitions/respond" }
}
},
"while_idle": { "$ref": "#/definitions/while_idle" },
"finally": { "$ref": "#/definitions/finally" },
"keep_listening": { "$ref": "#/definitions/keep_listening" }
}
},
"createChat": {
"type": "object",
"title": "Create Chat",
"description": "Create a new telegram chat",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/createChat.html",
"template": "{return { title:`telegram ${action.name}`, subtitle:`new chat '${payload.name}' ${payload.reference || ''}`, body:[{ text: `Members: ${payload.agent?.replace('telegram.accounts.', '')}, ${payload.members.join(', ')}`}]} }",
"resolveAdaptorVariables": false,
"required": ["name", "agent", "members", "type"],
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": ["chat"],
"isAdaptorContent": false
},
"name": {
"type": "string"
},
"agent": {
"$ref": "#/definitions/telegram_accounts"
},
"members": {
"type": "array",
"format": "table",
"description": "reference or query to agent or player",
"items": {
"type": "string",
"title": "member",
"isAdaptorContent": false
}
},
"title": {
"type": "string",
"description": "Set a group chat title that is different from the chat name"
},
"photo": { "$ref": "#/definitions/files" },
"about": {
"type": "string",
"format": "textarea",
"description": "group description text"
},
"create_link": {
"type": "boolean",
"title": "create invite link",
"format": "checkbox",
"default": true,
"description": "create an invite link. The link URL will be stored in the chat item under 'link'. The link will never expire, requires no confirmation and can be used infinite times."
},
"permissions": { "$ref": "#/definitions/permissions" },
"reference": {
"type": "string",
"description": "Name to reference the group chat or channel from inside this level.",
"isAdaptorContent": false
}
}
},
"editChat": {
"type": "object",
"title": "Edit Chat",
"description": "Change group chat settings and add or remove members. The executing Agent has to be group admin",
"documentation": "https://docs.adaptorex.org/basics/actions/telegram/editChat.html",
"resolveAdaptorVariables": false,
"required": ["chat", "agent"],
"additionalProperties": false,
"properties": {
"agent": {
"title": "Account or Bot",
"$ref": "#/definitions/telegram_items"
},
"chat": { "$ref": "#/definitions/chat" },
"title": {
"type": "string",
"description": "change group chat title"
},
"add_members": {
"type": "array",
"title": "add members",
"format": "table",
"description": "add members by reference or query to agent or player",
"items": {
"type": "string",
"title": "member",
"isAdaptorContent": false
}
},
"remove_members": {
"type": "array",
"title": "remove members",
"format": "table",
"description": "remove members by reference or query to agent or player",
"items": {
"type": "string",
"title": "member",
"isAdaptorContent": false
}
},
"photo": { "$ref": "#/definitions/files" },
"about": {
"type": "string",
"description": "group description text"
},
"create_link": {
"type": "boolean",
"default": true,
"title": "create invite link",
"description": "create an invite link. The link URL will be stored in the chat item under 'link'. The link will never expire, requires no confirmation and can be used infinite times."
},
"permissions": { "$ref": "#/definitions/permissions" }
}
}
}
}