Новичок Python. Как сделать, чтобы при нажатии inline кнопки пользователю высылались новости с группы вк?
Мне нужно чтобы парсер находил ключевое слово (я выбрал метод wall_search), затем запись поста с ключевым словом отправлял пользователю когда тот нажмет на кнопку. Парсер должен передавать текст и по возможности картинку.Как это сделать?
Если запускать парсер отдельно от бота, то через дебагер группа вк парсится отлично.
Как парсер засунуть в бота?
Вот кодовая часть, помогите пожалуйста.
import logging
import config
import requests
from aiogram import Bot, Dispatcher, executor, types
logging.basicConfig(level=logging.INFO)
bot = Bot(token=config.API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def welcome(message):
sti = open("img/what.webp", "rb")
await bot.send_sticker(message.chat.id, sti)
await bot.send_message(message.chat.id, "Привет, меня зовут ПРК-БОТ, я создан для сбора информации с сайта колледжа!")
await bot.send_message(message.chat.id, "Чтобы начать тыкай '/menu'.")
@dp.message_handler(commands=['menu'])
async def main_menu(message):
parser = types.InlineKeyboardMarkup()
button1 = types.InlineKeyboardButton(text='Новости', callback_data='news')
parser.add(button1)
await bot.send_message(message.chat.id, 'Ты перешел в меню! Теперь нажми на любую из кнопок, чтобы найти информацию!', reply_markup=menu)
@dp.callback_query_handler(lambda call: True)
async def parser_vk(call):
if call.data == 'news':
token = "token...."
version = "5.92"
domain = "perm_college_radio"
dop = 20
query = "Внимание"
offset = 0
all_posts = []
while offset < 100:
otvet = requests.get('https://api.vk.com/method/wall.search',
params={
"access_token": token,
"v": version,
"domain": domain,
"count": dop,
'query': query,
'offset': offset
}
)
data = otvet.json()['response']['items']
offset += 20
all_posts.extend(data)