mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 22:28:05 +01:00 
			
		
		
		
	Add ThreadID parameter for Telegram webhooks (#25996)
Telegram has recently implemented threads (channels) for group chats. Co-authored-by: neveraskedtoexist <matikot415@gmail.com>
This commit is contained in:
		
							parent
							
								
									82ea557dd3
								
							
						
					
					
						commit
						50fc22eecf
					
				| @ -2314,6 +2314,7 @@ settings.tags.protection.none = There are no protected tags. | ||||
| settings.tags.protection.pattern.description = You can use a single name or a glob pattern or regular expression to match multiple tags. Read more in the <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/protected-tags/">protected tags guide</a>. | ||||
| settings.bot_token = Bot Token | ||||
| settings.chat_id = Chat ID | ||||
| settings.thread_id = Thread ID | ||||
| settings.matrix.homeserver_url = Homeserver URL | ||||
| settings.matrix.room_id = Room ID | ||||
| settings.matrix.message_type = Message Type | ||||
|  | ||||
| @ -425,12 +425,13 @@ func telegramHookParams(ctx *context.Context) webhookParams { | ||||
| 
 | ||||
| 	return webhookParams{ | ||||
| 		Type:        webhook_module.TELEGRAM, | ||||
| 		URL:         fmt.Sprintf("https://api.telegram.org/bot%s/sendMessage?chat_id=%s", url.PathEscape(form.BotToken), url.QueryEscape(form.ChatID)), | ||||
| 		URL:         fmt.Sprintf("https://api.telegram.org/bot%s/sendMessage?chat_id=%s&message_thread_id=%s", url.PathEscape(form.BotToken), url.QueryEscape(form.ChatID), url.QueryEscape(form.ThreadID)), | ||||
| 		ContentType: webhook.ContentTypeJSON, | ||||
| 		WebhookForm: form.WebhookForm, | ||||
| 		Meta: &webhook_service.TelegramMeta{ | ||||
| 			BotToken: form.BotToken, | ||||
| 			ChatID:   form.ChatID, | ||||
| 			ThreadID: form.ThreadID, | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -353,6 +353,7 @@ func (f *NewDingtalkHookForm) Validate(req *http.Request, errs binding.Errors) b | ||||
| type NewTelegramHookForm struct { | ||||
| 	BotToken string `binding:"Required"` | ||||
| 	ChatID   string `binding:"Required"` | ||||
| 	ThreadID string | ||||
| 	WebhookForm | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -28,6 +28,7 @@ type ( | ||||
| 	TelegramMeta struct { | ||||
| 		BotToken string `json:"bot_token"` | ||||
| 		ChatID   string `json:"chat_id"` | ||||
| 		ThreadID string `json:"thread_id"` | ||||
| 	} | ||||
| ) | ||||
| 
 | ||||
|  | ||||
| @ -10,6 +10,10 @@ | ||||
| 			<label for="chat_id">{{.locale.Tr "repo.settings.chat_id"}}</label> | ||||
| 			<input id="chat_id" name="chat_id" type="text" value="{{.TelegramHook.ChatID}}" required> | ||||
| 		</div> | ||||
| 		<div class="field {{if .Err_ThreadID}}error{{end}}"> | ||||
| 			<label for="thread_id">{{.locale.Tr "repo.settings.thread_id"}}</label> | ||||
| 			<input id="thread_id" name="thread_id" type="text" value="{{.TelegramHook.ThreadID}}"> | ||||
| 		</div> | ||||
| 		{{template "repo/settings/webhook/settings" .}} | ||||
| 	</form> | ||||
| {{end}} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user