fix(channels): reject unauthorized inbound before side effects
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
committed by
Xubin Ren
co-authored by
Cursor
parent
1813fc5021
commit
4db50f2e32
@@ -993,6 +993,9 @@ class TelegramChannel(BaseChannel):
|
||||
return
|
||||
message = update.message
|
||||
user = update.effective_user
|
||||
sender_id = self._sender_id(user)
|
||||
if not self.is_allowed(sender_id):
|
||||
return
|
||||
self._remember_thread_context(message)
|
||||
|
||||
# Strip @bot_username suffix if present
|
||||
@@ -1004,7 +1007,7 @@ class TelegramChannel(BaseChannel):
|
||||
content = self._normalize_telegram_command(content)
|
||||
|
||||
await self._handle_message(
|
||||
sender_id=self._sender_id(user),
|
||||
sender_id=sender_id,
|
||||
chat_id=str(message.chat_id),
|
||||
content=content,
|
||||
metadata=self._build_message_metadata(message, user),
|
||||
@@ -1264,6 +1267,8 @@ class TelegramChannel(BaseChannel):
|
||||
if not chat_id:
|
||||
logger.warning("Callback query without chat_id")
|
||||
return
|
||||
if not self.is_allowed(sender_id):
|
||||
return
|
||||
button_label = query.data or ""
|
||||
await query.answer()
|
||||
if query.message:
|
||||
|
||||
Reference in New Issue
Block a user