Вообщем, дело в том что код выдает ошибку — AttributeError: ‘Event’ object has no attribute ‘chat_id’ с user_id все прекрасно работает, бот так же работает. Если можно как-нибудь по другому писать от лица бота в беседу, жду предложений. Заранее спасибо!
import random import requests import vk_api from vk_api.longpoll import VkLongPoll, VkEventType from commander.commander import Commander def write_msg(chat_id, message): vk.method(‘messages.send’, ) token = «указан» vk = vk_api.VkApi(token = token, login = ‘указан’, password = ‘указан’) longpoll = VkLongPoll(vk) x = [«февраля»,»января»,»марта»,»апреля»,»мая»,»июня», «июля»,»августа»,»сентября»,»октября»,»ноября»,»декабря»] mood = [«Хорошо»,»Отлично»,»Плохо»,»Бывало и лучше»] uch = [] commander = Commander() long_message = «» print(«Бот запущен») messages = vk.method(«messages.getConversations», ) while True: for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: request = event.text if request == «Бот» or request == «Бот, что ты умеешь» or request == «Бот, что ты делаешь» or request == «что ты делаешь» or request == «чир иы умеешь» or request == «Начать»: write_msg(event.chat_id, «Приветсвую! Все команды производятся через Бот, пример: Бот, как дела. Вот что я могу — 1. . 2. . «) elif request == «Бот, конституция»: write_msg(event.chat_id, long_message) elif request == «Бот, как дела»: randmood = random.choice(mood) write_msg(event.chat_id, randmood) elif request == «Бот, когда произойдет»: random2 = random.randrange(1,30,1) random3 = random.randrange(2018,2035,1) random4 = random.choice(x) random5 = random.randrange(0,23,1) random6 = random.randrange(0,59,1) random7 = random.randrange(0,59,1) s = str(random2)+str(» «)+str(random4)+str(«, «)+str(random3)+str(» года, в «)+str(random5)+str(» час(ов), «)+str(random6)+str(» минут(у), «)+str(random7)+str( » секунд(у).») write_msg(event.chat_id, s) elif request.split()[0] == «command»: write_msg(event.chat_id, commander.do(request[8::]))
Ответы (1 шт):
Это из-за VkLongPoll .
Коннектор к VK Ads (ВКонтакте) для Power BI (VKontakte API Connector)
В документации указано, что это модуль для пользователей. Так как Вы авторизуетесь с ключом сообщества, Вам требуется VkBotLongPoll (и соответственно VkBotEventType ).
Обратите внимание на то, что он находится в другом модуле, а именно в vk_api.bot_longpoll . Вам придётся переписать некоторую часть кода, вот самое главное:
На этом этапе Вам не нужен логин и пароль, достаточно только токена:
vk_session = VkApi(token='[access_token]’)
Здесь Вам дополнительно понадобится id сообщества:
longpoll = VkBotLongPoll(vk_session, ‘[group_id]’)
for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW:
Для того чтобы бот работал и в ЛС и в беседе, используйте peer_id (вместо chat_id и user_id ). Получить его можно следующим образом:
Как использовать vk api после 15 февраля 2019?
peer_id = event.obj[‘peer_id’]
Источник: husl.ru
Проблемы с авторизацией #382
Житель Украины, для авторизации использовал прокси. В случае входа через номер+пароль (даже верного пароля) получаю исключение vk_api.exceptions.BadPassword: Bad password. Пробовал вход через токен — vk_api.exceptions.ApiError: [29] Rate limit reached
Есть шансы на успех?
Окружение
API: ? не использую ?
Тестировал прокси на работоспособность вот так
link = «https://api.vk.com/method/users.get?user_id=210700286 response = requests.get(link, proxies = proxies) jsonResponce = response.json() print(jsonResponce)
При указании верных данных все равно vk_api.exceptions.BadPassword: Bad password
proxies = < ‘https’: ‘https://51.161.116.223:3128’ > s = requests.Session() s.proxies.update(proxies) vk_session = vk_api.VkApi(‘номер’, ‘пароль’, session=s) vk_session.auth() vk = vk_session.get_api()
Авторизация используя токен vk_api.exceptions.ApiError: [29] Rate limit reached
token = vk_api.VkApi(token=tokenData, session=s) vk = token.get_api()
The text was updated successfully, but these errors were encountered:
Источник: github.com
Проблемы с VK API
Запускаю на сервере страницу эту, а в ответ ничего. Пустая страница, ничего не вернулось.
В чем может быть причина?
Re: Проблемы с VK API
Сообщение sasha^ » 03 мар 2013, 22:05
во-первых метода getProfiles нет(он от апи 2.0). нужно использовать users.get
ну и ответ идет в json
во-вторых несуществующие ид пользователей
потому код например такой
api(‘users.get’, array(‘uids’=>’1,6492’));$ok = json_decode($resp);echo $ok->response[0]->first_name;?>
Re: Проблемы с VK API
Сообщение iCast » 03 мар 2013, 22:18
поправил все что не так.
но результат такой же.
Re: Проблемы с VK API
Сообщение iCast » 03 мар 2013, 22:35
по идее он мне должен вывести
почему php код не работает. а запрос напрямую работает
https://api.vk.com/method/users.get?uids=1,6492https://flapps.ru/forum/viewtopic.php?t=6472″ target=»_blank»]flapps.ru[/mask_link]