GramCore/plugin/methods/get_real_user_id.py

24 lines
837 B
Python
Raw Normal View History

2024-03-10 11:31:21 +00:00
from typing import TYPE_CHECKING
from gram_core.services.channels.services import ChannelAliasService
if TYPE_CHECKING:
from . import PluginFuncMethods
from telegram import Update
class GetRealUserId:
async def get_real_user_id(self: "PluginFuncMethods", update: "Update") -> int:
message = update.effective_message
if message:
channel = message.sender_chat
if channel:
channel_alias_service: ChannelAliasService = self.application.managers.services_map.get(
ChannelAliasService, None
)
if channel_alias_service:
if uid := await channel_alias_service.get_uid_by_chat_id(channel.id, is_valid=True):
return uid
user = update.effective_user
return user.id