Size: a a a

2020 August 15

S

Sergey in aiogram [ru]
Azamat
привет всем. надеюсь здесь можно просить помощи по коду.

пытаюсь реализовать такой флоу:

1) пользователь пишет боту
2) бот просит согласия с офертой
3) пользователь соглашается
4) бот просит пользователя заполнить анкету
5) пользователь заполняет анкету
6) бот форвардит заполненную анкету админу канала с кнопками "опубликовать" и "отказать"
7) при нажатии "опубликовать" в канал поступает заполненная анкета

реализовал так:

есть два StateGroup, первый отвечает только за общение с клиентом и содержит в себе шаг оферты и формы, второй отвечает за общение с админом.

после 5ого шага вызываю bot.send_message() с айди админа, у первого StateGroup вызываю .finish() вызываю второй StateGroup, вставляю в него форму.

все работало когда бот работал только с одним человеком - мной, т.е. писал боту сам и был админом у которого бот просил подтверждения.

когда боту пишет другой человек нажатие на кнопку "опубликовать" ничего не дает.

ощущение что состояние хранится на каждый аккаунт - это так? можно как-то переслать состояние с сообщением в bot.send_message()? в документации такого не увидел.

какое у меня альтернативное решение? думаю подключать БД, но не уверен как это все поведет себя с асинхронными подключениями из бота? или постоянно держать открытым одно подключение к БД?

есть какие-нибудь рекомндации?

код тут: https://pastebin.com/Nb9tYq2S
Да, состояние хранится для chat_id + user_id
источник

S

Sergey in aiogram [ru]
Рекомендую по сурсам полазить
источник

S

Sergey in aiogram [ru]
ВРОДЕ БЫ это поведение можно изменить. Пусть активные юзеры айограма подскажут.
источник

in aiogram [ru]
Azamat
привет всем. надеюсь здесь можно просить помощи по коду.

пытаюсь реализовать такой флоу:

1) пользователь пишет боту
2) бот просит согласия с офертой
3) пользователь соглашается
4) бот просит пользователя заполнить анкету
5) пользователь заполняет анкету
6) бот форвардит заполненную анкету админу канала с кнопками "опубликовать" и "отказать"
7) при нажатии "опубликовать" в канал поступает заполненная анкета

реализовал так:

есть два StateGroup, первый отвечает только за общение с клиентом и содержит в себе шаг оферты и формы, второй отвечает за общение с админом.

после 5ого шага вызываю bot.send_message() с айди админа, у первого StateGroup вызываю .finish() вызываю второй StateGroup, вставляю в него форму.

все работало когда бот работал только с одним человеком - мной, т.е. писал боту сам и был админом у которого бот просил подтверждения.

когда боту пишет другой человек нажатие на кнопку "опубликовать" ничего не дает.

ощущение что состояние хранится на каждый аккаунт - это так? можно как-то переслать состояние с сообщением в bot.send_message()? в документации такого не увидел.

какое у меня альтернативное решение? думаю подключать БД, но не уверен как это все поведет себя с асинхронными подключениями из бота? или постоянно держать открытым одно подключение к БД?

есть какие-нибудь рекомндации?

код тут: https://pastebin.com/Nb9tYq2S
Не скажу за Фсм, но есть асинхронные модули для работы с бд - asyncpg, например
источник

V

Vela in aiogram [ru]
О, хочу поспорить... Мы тут с другом не можем решить что нужно юзать в ботах, mysql или sqlite3
источник

V

Vela in aiogram [ru]
Я за мускл, он за sqlite3(
источник

ИР

Иван Ростов-Репин... in aiogram [ru]
Vela
О, хочу поспорить... Мы тут с другом не можем решить что нужно юзать в ботах, mysql или sqlite3
Найс тема для треда, залетаем
источник

S

Sergey in aiogram [ru]
Vela
О, хочу поспорить... Мы тут с другом не можем решить что нужно юзать в ботах, mysql или sqlite3
Mongo
/thread
источник

in aiogram [ru]
Vela
О, хочу поспорить... Мы тут с другом не можем решить что нужно юзать в ботах, mysql или sqlite3
postgresql
источник

DK

Daniil Kovalenko in aiogram [ru]
Постгрес)))0
источник

B

BPRO in aiogram [ru]
Vela
О, хочу поспорить... Мы тут с другом не можем решить что нужно юзать в ботах, mysql или sqlite3
PostgreSQL
источник

A

Azamat in aiogram [ru]
Не скажу за Фсм, но есть асинхронные модули для работы с бд - asyncpg, например
ну есть в принципе асинхронная sqlalchemycore, Я просто не совсем понимаю как мне менеджить подключение.
источник

in aiogram [ru]
Не забывайте золотое правило аиограма
https://t.me/aiogram_ru/274675
источник

A

Azamat in aiogram [ru]
Sergey
Да, состояние хранится для chat_id + user_id
спасибо
источник

B

BPRO in aiogram [ru]
Daniil Kovalenko
Постгрес)))0
А! Уже сказали про PS
источник

DK

Daniil Kovalenko in aiogram [ru]
Vela
Я за мускл, он за sqlite3(
sqlite3 будет не очень хорошим выбором для серьёзного бота, насколько я знаю
источник

in aiogram [ru]
Daniil Kovalenko
sqlite3 будет не очень хорошим выбором для серьёзного бота, насколько я знаю
+
Обычно, когда нагрузка возрастает, sqlite становится узким местом бота
источник

V

Vela in aiogram [ru]
Ну выбрали да?)0
источник

V

Vela in aiogram [ru]
postgresql
источник

V

Vela in aiogram [ru]
Переслано от Daniil Kovalenko
Постгрес)))0
источник