|
|
|
@ -23,6 +23,9 @@ const messages = defineMessages({
|
|
|
|
|
chatId: 'Chat ID',
|
|
|
|
|
chatIdTip:
|
|
|
|
|
'Start a chat with your bot, add <GetIdBotLink>@get_id_bot</GetIdBotLink>, and issue the <code>/my_id</code> command',
|
|
|
|
|
messageThreadId: 'Thread/Topic ID',
|
|
|
|
|
messageThreadIdTip:
|
|
|
|
|
"If your group-chat has topics enabled, you can specify a thread/topic's ID here",
|
|
|
|
|
validationBotAPIRequired: 'You must provide a bot authorization token',
|
|
|
|
|
validationChatIdRequired: 'You must provide a valid chat ID',
|
|
|
|
|
telegramsettingssaved: 'Telegram notification settings saved successfully!',
|
|
|
|
@ -64,6 +67,7 @@ const NotificationsTelegram = () => {
|
|
|
|
|
/^-?\d+$/,
|
|
|
|
|
intl.formatMessage(messages.validationChatIdRequired)
|
|
|
|
|
),
|
|
|
|
|
messageThreadId: Yup.string().nullable(),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (!data && !error) {
|
|
|
|
@ -78,6 +82,7 @@ const NotificationsTelegram = () => {
|
|
|
|
|
botUsername: data?.options.botUsername,
|
|
|
|
|
botAPI: data?.options.botAPI,
|
|
|
|
|
chatId: data?.options.chatId,
|
|
|
|
|
messageThreadId: data?.options.messageThreadId,
|
|
|
|
|
sendSilently: data?.options.sendSilently,
|
|
|
|
|
}}
|
|
|
|
|
validationSchema={NotificationsTelegramSchema}
|
|
|
|
@ -89,6 +94,7 @@ const NotificationsTelegram = () => {
|
|
|
|
|
options: {
|
|
|
|
|
botAPI: values.botAPI,
|
|
|
|
|
chatId: values.chatId,
|
|
|
|
|
messageThreadId: values.messageThreadId,
|
|
|
|
|
sendSilently: values.sendSilently,
|
|
|
|
|
botUsername: values.botUsername,
|
|
|
|
|
},
|
|
|
|
@ -137,6 +143,7 @@ const NotificationsTelegram = () => {
|
|
|
|
|
options: {
|
|
|
|
|
botAPI: values.botAPI,
|
|
|
|
|
chatId: values.chatId,
|
|
|
|
|
messageThreadId: values.messageThreadId,
|
|
|
|
|
sendSilently: values.sendSilently,
|
|
|
|
|
botUsername: values.botUsername,
|
|
|
|
|
},
|
|
|
|
@ -269,6 +276,28 @@ const NotificationsTelegram = () => {
|
|
|
|
|
)}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="form-row">
|
|
|
|
|
<label htmlFor="messageThreadId" className="text-label">
|
|
|
|
|
{intl.formatMessage(messages.messageThreadId)}
|
|
|
|
|
<span className="label-tip">
|
|
|
|
|
{intl.formatMessage(messages.messageThreadIdTip)}
|
|
|
|
|
</span>
|
|
|
|
|
</label>
|
|
|
|
|
<div className="form-input-area">
|
|
|
|
|
<div className="form-input-field">
|
|
|
|
|
<Field
|
|
|
|
|
id="messageThreadId"
|
|
|
|
|
name="messageThreadId"
|
|
|
|
|
type="text"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
{errors.messageThreadId &&
|
|
|
|
|
touched.messageThreadId &&
|
|
|
|
|
typeof errors.messageThreadId === 'string' && (
|
|
|
|
|
<div className="error">{errors.messageThreadId}</div>
|
|
|
|
|
)}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="form-row">
|
|
|
|
|
<label htmlFor="sendSilently" className="checkbox-label">
|
|
|
|
|
<span>{intl.formatMessage(messages.sendSilently)}</span>
|
|
|
|
|