Reformat and translate
This commit is contained in:
@@ -1,351 +1,433 @@
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType('iter-messages', {
|
||||
category: 'telegram',
|
||||
color: '#32a3e0',
|
||||
defaults: {
|
||||
name: { value: '' },
|
||||
config: { type: 'config', required: true },
|
||||
chatId: { value: '', required: false },
|
||||
limit: { value: '', required: false },
|
||||
offsetDate: { value: '', required: false },
|
||||
offsetId: { value: '', required: false },
|
||||
maxId: { value: '', required: false },
|
||||
minId: { value: '', required: false },
|
||||
addOffset: { value: '', required: false },
|
||||
search: { value: '', required: false },
|
||||
filter: { value: '', required: false },
|
||||
fromUser: { value: '', required: false },
|
||||
waitTime: { value: '', required: false },
|
||||
ids: { value: '', required: false },
|
||||
reverse: { value: '', required: false },
|
||||
replyTo: { value: '', required: false },
|
||||
scheduled: { value: '', required: false }
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
paletteLabel: 'Iterate Messages',
|
||||
label: function () {
|
||||
return this.name || 'Iterate Messages';
|
||||
},
|
||||
oneditprepare: function(){
|
||||
const node = this;
|
||||
$("#node-input-ids").val(node.ids.join(","))
|
||||
},
|
||||
oneditsave:function(){
|
||||
const node = this;
|
||||
ids = $("#node-input-ids").val();
|
||||
if(ids){
|
||||
node.ids = ids.split(",").map(id => parseInt(id))
|
||||
}
|
||||
},
|
||||
});
|
||||
RED.nodes.registerType("iter-messages", {
|
||||
category: "telegram",
|
||||
color: "#32a3e0",
|
||||
defaults: {
|
||||
name: { value: "" },
|
||||
config: { type: "config", required: true },
|
||||
chatId: { value: "", required: false },
|
||||
limit: { value: "", required: false },
|
||||
offsetDate: { value: "", required: false },
|
||||
offsetId: { value: "", required: false },
|
||||
maxId: { value: "", required: false },
|
||||
minId: { value: "", required: false },
|
||||
addOffset: { value: "", required: false },
|
||||
search: { value: "", required: false },
|
||||
filter: { value: "", required: false },
|
||||
fromUser: { value: "", required: false },
|
||||
waitTime: { value: "", required: false },
|
||||
ids: { value: "", required: false },
|
||||
reverse: { value: "", required: false },
|
||||
replyTo: { value: "", required: false },
|
||||
scheduled: { value: "", required: false },
|
||||
},
|
||||
inputs: 1,
|
||||
outputs: 1,
|
||||
paletteLabel: "Iterate Messages",
|
||||
label: function () {
|
||||
return this.name || "Iterate Messages";
|
||||
},
|
||||
oneditprepare: function () {
|
||||
const node = this;
|
||||
$("#node-input-ids").val(node.ids.join(","));
|
||||
},
|
||||
oneditsave: function () {
|
||||
const node = this;
|
||||
ids = $("#node-input-ids").val();
|
||||
if (ids) {
|
||||
node.ids = ids.split(",").map((id) => parseInt(id));
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-template-name="iter-messages">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name">
|
||||
<i class="fa fa-tag"></i> Name
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-name"
|
||||
placeholder="Name"
|
||||
style="width: 60%"
|
||||
ng-model="name"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-config">
|
||||
<i class="fa fa-tag"></i> Config
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-config"
|
||||
placeholder="Config"
|
||||
style="width: 60%"
|
||||
ng-model="config"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-chatId">
|
||||
<i class="fa fa-tag"></i> Chat ID
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-chatId"
|
||||
placeholder="Chat ID"
|
||||
style="width: 60%"
|
||||
ng-model="chatId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-limit">
|
||||
<i class="fa fa-tag"></i> Limit
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-limit"
|
||||
placeholder="Limit"
|
||||
style="width: 60%"
|
||||
ng-model="limit"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-offsetDate">
|
||||
<i class="fa fa-tag"></i> Offset Date
|
||||
</label>
|
||||
<input
|
||||
type="datetime-local"
|
||||
id="node-input-offsetDate"
|
||||
placeholder="Offset Date"
|
||||
style="width: 60%"
|
||||
ng-model="offsetDate"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-offsetId">
|
||||
<i class="fa fa-tag"></i> Offset ID
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-offsetId"
|
||||
placeholder="Offset ID"
|
||||
style="width: 60%"
|
||||
ng-model="offsetId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-maxId">
|
||||
<i class="fa fa-tag"></i> Max ID
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-maxId"
|
||||
placeholder="Max ID"
|
||||
style="width: 60%"
|
||||
ng-model="maxId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-minId">
|
||||
<i class="fa fa-tag"></i> Min ID
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-minId"
|
||||
placeholder="Min ID"
|
||||
style="width: 60%"
|
||||
ng-model="minId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-addOffset">
|
||||
<i class="fa fa-tag"></i> Add Offset
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-addOffset"
|
||||
placeholder="Add Offset"
|
||||
style="width: 60%"
|
||||
ng-model="addOffset"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-search">
|
||||
<i class="fa fa-tag"></i> Search
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-search"
|
||||
placeholder="Search"
|
||||
style="width: 60%"
|
||||
ng-model="search"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-filter">
|
||||
<i class="fa fa-tag"></i> Filter
|
||||
</label>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterEmpty">Empty<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterPhotos">Photos<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterVideo">Video<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterPhotoVideo">Photo and Video<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterDocument">Document<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterUrl">URL<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterGif">GIF<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterVoice">Voice<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterMusic">Music<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterChatPhotos">Chat Photos<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterPhoneCalls">Phone Calls<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterRoundVoice">Round Voice<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterRoundVideo">Round Video<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterMyMentions">My Mentions<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterGeo">Geo<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterContacts">Contacts<br>
|
||||
<input type="checkbox" name="filter" value="InputMessagesFilterPinned">Pinned<br>
|
||||
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-fromUser">
|
||||
<i class="fa fa-tag"></i> From User
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-fromUser"
|
||||
placeholder="From User"
|
||||
style="width: 60%"
|
||||
ng-model="fromUser"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-waitTime">
|
||||
<i class="fa fa-tag"></i> Wait Time
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-waitTime"
|
||||
placeholder="Wait Time"
|
||||
style="width: 60%"
|
||||
ng-model="waitTime"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-ids">
|
||||
<i class="fa fa-tag"></i> IDs
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-ids"
|
||||
placeholder="123,1245"
|
||||
style="width: 60%"
|
||||
ng-model="ids"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-reverse">
|
||||
<i class="fa fa-tag"></i> Reverse
|
||||
</label>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="node-input-reverse"
|
||||
ng-model="reverse"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-replyTo">
|
||||
<i class="fa fa-tag"></i> Reply To
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-replyTo"
|
||||
placeholder="Reply To"
|
||||
style="width: 60%"
|
||||
ng-model="replyTo"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-scheduled">
|
||||
<i class="fa fa-tag"></i> Scheduled
|
||||
</label>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="node-input-scheduled"
|
||||
ng-model="scheduled"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-name"> <i class="fa fa-tag"></i> Name </label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-name"
|
||||
placeholder="Name"
|
||||
style="width: 60%"
|
||||
ng-model="name"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-config"> <i class="fa fa-tag"></i> Config </label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-config"
|
||||
placeholder="Config"
|
||||
style="width: 60%"
|
||||
ng-model="config"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-chatId"> <i class="fa fa-tag"></i> Chat ID </label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-chatId"
|
||||
placeholder="Chat ID"
|
||||
style="width: 60%"
|
||||
ng-model="chatId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-limit"> <i class="fa fa-tag"></i> Limit </label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-limit"
|
||||
placeholder="Limit"
|
||||
style="width: 60%"
|
||||
ng-model="limit"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-offsetDate">
|
||||
<i class="fa fa-tag"></i> Offset Date
|
||||
</label>
|
||||
<input
|
||||
type="datetime-local"
|
||||
id="node-input-offsetDate"
|
||||
placeholder="Offset Date"
|
||||
style="width: 60%"
|
||||
ng-model="offsetDate"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-offsetId">
|
||||
<i class="fa fa-tag"></i> Offset ID
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-offsetId"
|
||||
placeholder="Offset ID"
|
||||
style="width: 60%"
|
||||
ng-model="offsetId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-maxId"> <i class="fa fa-tag"></i> Max ID </label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-maxId"
|
||||
placeholder="Max ID"
|
||||
style="width: 60%"
|
||||
ng-model="maxId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-minId"> <i class="fa fa-tag"></i> Min ID </label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-minId"
|
||||
placeholder="Min ID"
|
||||
style="width: 60%"
|
||||
ng-model="minId"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-addOffset">
|
||||
<i class="fa fa-tag"></i> Add Offset
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-addOffset"
|
||||
placeholder="Add Offset"
|
||||
style="width: 60%"
|
||||
ng-model="addOffset"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-search"> <i class="fa fa-tag"></i> Search </label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-search"
|
||||
placeholder="Search"
|
||||
style="width: 60%"
|
||||
ng-model="search"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-filter"> <i class="fa fa-tag"></i> Filter </label>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterEmpty"
|
||||
/>Empty<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterPhotos"
|
||||
/>Photos<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterVideo"
|
||||
/>Video<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterPhotoVideo"
|
||||
/>Photo and Video<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterDocument"
|
||||
/>Document<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterUrl"
|
||||
/>URL<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterGif"
|
||||
/>GIF<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterVoice"
|
||||
/>Voice<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterMusic"
|
||||
/>Music<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterChatPhotos"
|
||||
/>Chat Photos<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterPhoneCalls"
|
||||
/>Phone Calls<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterRoundVoice"
|
||||
/>Round Voice<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterRoundVideo"
|
||||
/>Round Video<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterMyMentions"
|
||||
/>My Mentions<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterGeo"
|
||||
/>Geo<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterContacts"
|
||||
/>Contacts<br />
|
||||
<input
|
||||
type="checkbox"
|
||||
name="filter"
|
||||
value="InputMessagesFilterPinned"
|
||||
/>Pinned<br />
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-fromUser">
|
||||
<i class="fa fa-tag"></i> From User
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-fromUser"
|
||||
placeholder="From User"
|
||||
style="width: 60%"
|
||||
ng-model="fromUser"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-waitTime">
|
||||
<i class="fa fa-tag"></i> Wait Time
|
||||
</label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-waitTime"
|
||||
placeholder="Wait Time"
|
||||
style="width: 60%"
|
||||
ng-model="waitTime"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-ids"> <i class="fa fa-tag"></i> IDs </label>
|
||||
<input
|
||||
type="text"
|
||||
id="node-input-ids"
|
||||
placeholder="123,1245"
|
||||
style="width: 60%"
|
||||
ng-model="ids"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-reverse"> <i class="fa fa-tag"></i> Reverse </label>
|
||||
<input type="checkbox" id="node-input-reverse" ng-model="reverse" />
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-replyTo"> <i class="fa fa-tag"></i> Reply To </label>
|
||||
<input
|
||||
type="number"
|
||||
id="node-input-replyTo"
|
||||
placeholder="Reply To"
|
||||
style="width: 60%"
|
||||
ng-model="replyTo"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="node-input-scheduled">
|
||||
<i class="fa fa-tag"></i> Scheduled
|
||||
</label>
|
||||
<input type="checkbox" id="node-input-scheduled" ng-model="scheduled" />
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-help-name="iter-messages">
|
||||
<p>The <b>iter-messages</b> node retrieves messages from a specified chat or user using the Telegram API. It supports a wide range of filtering and pagination options, allowing for efficient message iteration.</p>
|
||||
<p>
|
||||
The <b>iter-messages</b> node retrieves messages from a specified chat or
|
||||
user using the Telegram API. It supports a wide range of filtering and
|
||||
pagination options, allowing for efficient message iteration.
|
||||
</p>
|
||||
|
||||
<h3>Inputs</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>payload.client
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>An optional Telegram client instance if not configured globally.</dd>
|
||||
<h3>Inputs</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>
|
||||
payload.client
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>An optional Telegram client instance if not configured globally.</dd>
|
||||
|
||||
<dt>payload.chatId
|
||||
<span class="property-type">string</span>
|
||||
</dt>
|
||||
<dd>The ID or username of the chat or user to retrieve messages from. Use "me" for personal messages.</dd>
|
||||
<dt>
|
||||
payload.chatId
|
||||
<span class="property-type">string</span>
|
||||
</dt>
|
||||
<dd>
|
||||
The ID or username of the chat or user to retrieve messages from. Use "me"
|
||||
for personal messages.
|
||||
</dd>
|
||||
|
||||
<dt>payload.limit
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Maximum number of messages to retrieve.</dd>
|
||||
<dt>
|
||||
payload.limit
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Maximum number of messages to retrieve.</dd>
|
||||
|
||||
<dt>payload.offsetDate
|
||||
<span class="property-type">string | number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages starting from this date. Accepts a UNIX timestamp or a date string.</dd>
|
||||
<dt>
|
||||
payload.offsetDate
|
||||
<span class="property-type">string | number</span>
|
||||
</dt>
|
||||
<dd>
|
||||
Fetch messages starting from this date. Accepts a UNIX timestamp or a date
|
||||
string.
|
||||
</dd>
|
||||
|
||||
<dt>payload.offsetId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages starting from this message ID.</dd>
|
||||
<dt>
|
||||
payload.offsetId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages starting from this message ID.</dd>
|
||||
|
||||
<dt>payload.maxId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages with IDs less than or equal to this value.</dd>
|
||||
<dt>
|
||||
payload.maxId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages with IDs less than or equal to this value.</dd>
|
||||
|
||||
<dt>payload.minId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages with IDs greater than or equal to this value.</dd>
|
||||
<dt>
|
||||
payload.minId
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetch messages with IDs greater than or equal to this value.</dd>
|
||||
|
||||
<dt>payload.addOffset
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>An additional offset to apply when retrieving messages.</dd>
|
||||
<dt>
|
||||
payload.addOffset
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>An additional offset to apply when retrieving messages.</dd>
|
||||
|
||||
<dt>payload.search
|
||||
<span class="property-type">string</span>
|
||||
</dt>
|
||||
<dd>Filters messages containing the specified search term.</dd>
|
||||
<dt>
|
||||
payload.search
|
||||
<span class="property-type">string</span>
|
||||
</dt>
|
||||
<dd>Filters messages containing the specified search term.</dd>
|
||||
|
||||
<dt>payload.filter
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>Applies a specific message filter (e.g., photos, videos, documents).</dd>
|
||||
<dt>
|
||||
payload.filter
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>
|
||||
Applies a specific message filter (e.g., photos, videos, documents).
|
||||
</dd>
|
||||
|
||||
<dt>payload.filters
|
||||
<span class="property-type">array</span>
|
||||
</dt>
|
||||
<dd>Applies multiple message filters using Telegram API filter classes (e.g., <code>Api.InputMessagesFilterPhotos</code>).</dd>
|
||||
<dt>
|
||||
payload.filters
|
||||
<span class="property-type">array</span>
|
||||
</dt>
|
||||
<dd>
|
||||
Applies multiple message filters using Telegram API filter classes (e.g.,
|
||||
<code>Api.InputMessagesFilterPhotos</code>).
|
||||
</dd>
|
||||
|
||||
<dt>payload.reverse
|
||||
<span class="property-type">boolean</span>
|
||||
</dt>
|
||||
<dd>Retrieves messages in reverse order if set to <code>true</code>. Default is <code>false</code>.</dd>
|
||||
<dt>
|
||||
payload.reverse
|
||||
<span class="property-type">boolean</span>
|
||||
</dt>
|
||||
<dd>
|
||||
Retrieves messages in reverse order if set to <code>true</code>. Default
|
||||
is <code>false</code>.
|
||||
</dd>
|
||||
|
||||
<dt>payload.replyTo
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetches messages replying to the specified message ID.</dd>
|
||||
<dt>
|
||||
payload.replyTo
|
||||
<span class="property-type">number</span>
|
||||
</dt>
|
||||
<dd>Fetches messages replying to the specified message ID.</dd>
|
||||
|
||||
<dt>payload.scheduled
|
||||
<span class="property-type">boolean</span>
|
||||
</dt>
|
||||
<dd>Includes scheduled messages if set to <code>true</code>.</dd>
|
||||
</dl>
|
||||
<dt>
|
||||
payload.scheduled
|
||||
<span class="property-type">boolean</span>
|
||||
</dt>
|
||||
<dd>Includes scheduled messages if set to <code>true</code>.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Outputs</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>payload.messages
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>An object containing messages, where keys are message IDs and values are message details.</dd>
|
||||
</dl>
|
||||
<h3>Outputs</h3>
|
||||
<dl class="message-properties">
|
||||
<dt>
|
||||
payload.messages
|
||||
<span class="property-type">object</span>
|
||||
</dt>
|
||||
<dd>
|
||||
An object containing messages, where keys are message IDs and values are
|
||||
message details.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Details</h3>
|
||||
<p>The <b>iter-messages</b> node provides a flexible way to retrieve messages from a Telegram chat or user. It allows advanced configurations such as filtering messages by type, searching for specific terms, and paginating results using offsets and IDs.</p>
|
||||
|
||||
<p>The node also handles cases where a chat username needs to be resolved into an entity or peer ID. It supports using multiple filters in conjunction, enabling precise control over the messages to process.</p>
|
||||
<h3>Details</h3>
|
||||
<p>
|
||||
The <b>iter-messages</b> node provides a flexible way to retrieve messages
|
||||
from a Telegram chat or user. It allows advanced configurations such as
|
||||
filtering messages by type, searching for specific terms, and paginating
|
||||
results using offsets and IDs.
|
||||
</p>
|
||||
|
||||
<h3>Example</h3>
|
||||
<pre>
|
||||
<p>
|
||||
The node also handles cases where a chat username needs to be resolved into
|
||||
an entity or peer ID. It supports using multiple filters in conjunction,
|
||||
enabling precise control over the messages to process.
|
||||
</p>
|
||||
|
||||
<h3>Example</h3>
|
||||
<pre>
|
||||
{
|
||||
"payload": {
|
||||
"chatId": "@examplechannel",
|
||||
@@ -354,12 +436,23 @@
|
||||
"filters": ["InputMessagesFilterPhotos"]
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
<p>This input retrieves up to 50 messages containing the term "announcement" and filters them to include only photos from the specified channel.</p>
|
||||
</pre
|
||||
>
|
||||
<p>
|
||||
This input retrieves up to 50 messages containing the term "announcement"
|
||||
and filters them to include only photos from the specified channel.
|
||||
</p>
|
||||
|
||||
<h3>Error Handling</h3>
|
||||
<p>If an error occurs during message retrieval (e.g., invalid chat ID or API errors), the node logs an error message and does not return a payload.</p>
|
||||
<h3>Error Handling</h3>
|
||||
<p>
|
||||
If an error occurs during message retrieval (e.g., invalid chat ID or API
|
||||
errors), the node logs an error message and does not return a payload.
|
||||
</p>
|
||||
|
||||
<h3>Configuration</h3>
|
||||
<p>The node can use a globally configured Telegram client or a client instance provided in the message payload. Ensure the client has access to the specified chat or user.</p>
|
||||
<h3>Configuration</h3>
|
||||
<p>
|
||||
The node can use a globally configured Telegram client or a client instance
|
||||
provided in the message payload. Ensure the client has access to the
|
||||
specified chat or user.
|
||||
</p>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user