Как в airogram получать данные об коротком ID пользователя, время отправки сообщения и беседы, откуда получили сообщение?
У меня есть код с мини ботом, в нем есть команды 'Данет' (отвечает либо да, либо нет) и 'Инфа' (даёт рандомный процент), а так же он отправляет мне в личные сообщения информацию о каждом сообщении, которое писали ему или в беседу (в нем указывается имя пользователя, его айди, фамилия и соответственно сообщение), мне нужно получать ID пользователя (не цифры, а то, которое пользователь указывал, если есть, например @user_name), время, в которое было отправлено сообщение и беседу, в которое было отправлено сообщение (или если пользователь отправил в лс, то что бы так и показывалось), если возможно, конечно Вот мой код:
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
import emoji
from random import randint as ri
from random import randint as ki
bot = Bot(token=token)
dp = Dispatcher(bot)
@dp.message_handler(commands=['help'])
async def process_help_command(message: types.Message):
await message.reply("В боте есть следующие команды:\n'Бот инфа [Ваш текст]' - выдаст вам процент от 0 до 100 (p.s. информация не является достоверной, это лишь случайные числа для развлечания)\n'Бот данет [Ваш текст]' - выдает вам ответ на ваш вопрос в стиле 'Да', или 'Нет'")
@dp.message_handler(content_types='text')
async def new_message(message: types.Message):
#------
try:
await bot.send_message(id, 'Сообщение пользователя: "'+ message.text + '"\nАйди пользователя: @' + str(message.from_user.id) + "\nНик пользователя: " + message.from_user.first_name + "\nФамилия пользователя: " + message.from_user.last_name)
except:
await bot.send_message(id, 'Сообщение пользователя: "'+ message.text + '"\nАйди пользователя: @' + str(message.from_user.id) + "\nНик пользователя: " + message.from_user.first_name + "\nФамилия пользователя: -!")
#------
if 'Бот данет' in message.text:
r = ki(1, 2)
if r == 1:
danet = "Нет"
else:
danet = "Да"
await message.reply("Ответ: " + danet)
state="*"
elif 'Бот инфа' in message.text:
kr = ri(0, 100)
await message.reply("Шанс равен: " + str(kr) + "%")
state="*"
if __name__ == '__main__':
executor.start_polling(dp)
Ответы (1 шт):
Я узнал как делать это все! Посмотреть время отправки можно следующим образом:
message.date
Беседа, откуда получено сообщение:
message.chat.title
Короткий ID:
message.from_user.username