def filter_by_hashtag(bot, update, db, users_state):
user_id = update.message.from_user.id
users_state[user_id] = dict()
users_state[user_id]['channels'] = dict()
keyboard = []
keyboard_row = []
for channel in db.query(Channel).filter(Channel.owner_id == str(user_id)).order_by(Channel.created_at.desc()):
try:
channel_chat = bot.get_chat(chat_id=channel.channel_id)
users_state[user_id]['channels'][channel_chat.title] = channel.channel_id
keyboard_row.append(channel_chat.title)
if len(keyboard_row) == 2:
keyboard.append(keyboard_row)
keyboard_row = []
except telegram.TelegramError:
logger.warning('filter_by_hashtag: cannot get title of channel {}'.format(channel.channel_id))
traceback.print_exc()
if len(keyboard_row) != 0:
keyboard.append(keyboard_row)
update.message.reply_text('???????? ?????', reply_markup=ReplyKeyboardMarkup(keyboard, one_time_keyboard=True))
return ASKED_CHANNEL_ID_IN_FILTER_BY_HASHTAG
评论列表
文章目录