Телеграм бот с PostgreSQL на aiogram
Нужен бот с ежемесячной подпиской на VPN, который выдает конфиги Outline.
Соответственно, не обойтись без базы данных. Выбрал PostgreSQL, но в базу нужно добавлять id
пользователей. Как это сделать? Если верно понимаю, то нужно использовать message.from_user.id
, но как его засунуть в БД? В сообщении от бота выводить получается, а как в БД записать информации не нашел.
И еще, для создания новых ключей Outline — использую это: https://github.com/jadolg/outline-vpn-api. Там при использовании client.create.key()
вывод такого вида:
OutlineKey(key_id='21', name='', password='8ygJ5y0eGOYSvsBv3Bo85w', port=52419, method='chacha20-ietf-poly1305', access_url='ss://Y2hhY2hhMjAtaWV0Zi1wb2x5M7MwNTo4eWdKdnBrZUdPWVN2c0J2M0JvODV3@197.81.132.137:52419/?outline=1', used_bytes=0, data_limit=None)
Как записать в БД только ссылку ss://Y2...
?
Т.е. нужно получить id
пользователя Telegram и записать его в БД, а также каким-то образом записать в БД часть вывода от client.create.key()
, которая идет после access_url
.
Чтобы было понятней чего я хочу: нужен бот, который после оплаты подписки выдает ключ Outline, в случае не продления подписки пользователем ключ перестает работать, а в ТГ пользователю приходит сообщение с напоминанием продлить подписку, пользователь продлевает и тот же ключ снова начинает работать. Вроде как, все уже работает (мой первый опыт в написании бота), но вот с самым, казалось бы, легким - с получением id
пользователя — проблема, знаний не хватает :(