@bot.on.message(text=["Призми погладить", "Рп погладить", "[id{user_id}|Фурина]"])
async def pat_user(message: Message):
# Проверяем, было ли упоминание пользователя через @
mentioned_user_id = None
mentioned_users = re.findall(r'\[id(\d+)\|.*?\]', message.text)
if mentioned_users:
mentioned_user_id = mentioned_users[0]
# Получаем информацию об отправителе и упомянутом пользователе
user_id = message.from_id
user_info = await bot.api.users.get(user_ids=user_id)
replied_user_id = mentioned_user_id or message.reply_message.from_id
replied_user_info = await bot.api.users.get(user_ids=replied_user_id)
user_name = user_info[0].first_name
replied_user_name = replied_user_info[0].first_name
try:
target_name_out = morph.parse(replied_user_name)[0]
gent = target_name_out.inflect({'accs'})
replied_user_name_inflected = morph.parse(replied_user_name)[0].inflect({'accs'}).word.capitalize()
owner_id = -193467820 # ID сообщества, у которого нужно получить фотографии
album_id = 299924575 # ID альбома, из которого нужно получить фотографии
response = await api.photos.get(owner_id=owner_id, album_id=album_id, count=100)
photos = response.items
random_photo = random.choice(photos)
photo_attachment = f"photo{owner_id}_{random_photo.id}"
await message.answer(
message=f"@id{user_id} ({user_name}) погладил(а) @id{replied_user_id} ({replied_user_name_inflected})",
attachment=photo_attachment
)
except Exception as e:
print(f"An error occurred: {e}")
@bot.on.message(text=["Призми погладить", "Рп погладить", "[id{user_id}|Фурина]"])
async def pat_user(message: Message):
# Проверяем, было ли упоминание пользователя через @
mentioned_user_id = None
mentioned_users = re.findall(r'\[id(\d+)\|.*?\]', message.text)
if mentioned_users:
mentioned_user_id = mentioned_users[0]
@bot.on.message(text=["Рп погладить [id<mentioned_user_id>|<mentioned_user_name>]", "Призми погладить", "Рп погладить"])
async def pat_user(message: Message, mentioned_user_id=None, mentioned_user_name=None):
mentioned_user_id ... # уже можно использовать напрямую
# можно и само имя использовать, если вдруг пригодится mentioned_user_name