Messages getconversationmembers не работает

Messages getconversationmembers не работает

Для групповой беседы:
2000000000 + id беседы.

fields дополнительные поля пользователей и сообществ, которые необходимо вернуть в ответе. group_id идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).
Возвращает объект, который содержит следующие поля:
count
integer
число участников беседы.
items
array
участники беседы. Массив объектов, каждый из которых содержит поля:
  • member_id (integer) — идентификатор участника беседы;
  • invited_by (integer) — идентификатор пользователя, который пригласил участника;
  • join_date (integer) — дата добавления в беседу;
  • is_admin (boolean) — является ли пользователь администратором;
  • can_kick (boolean) — может ли текущий пользователь исключить участника.
profiles
array
массив объектов пользователей.
groups
array
массив объектов сообществ.

917 Нет доступа к беседе

В ходе выполнения могут произойти общие ошибки. Их описание находится на отдельной странице.

В объекте приложения в поле type приходят новые значения.

  • app — социальное приложение
  • game — игра
  • site — подключенный сайт
  • standalone — отдельное приложение (для мобильного устройства)
  • vk_app — VK App приложение
  • community_app — приложение сообщества
  • html5_game — HTML5 игра

В объекте приложения больше не приходит поле is_html5_app.

Метод messages.getConversationMembers возвращает новую ошибку 917.

Изменения в API опросов:

  • Новый формат объекта опроса.
  • Метод polls.create поддерживает новые параметры для опросов с мультивыбором и фоном.

В методе groups.getLongPollServer изменился тип поля ts — теперь это string , а не integer .

Метод messages.getChatPreview теперь возвращает максимум 5 участников из чата. Метод messages.getConversationMembers возвращает поле can_kick (boolean) для участников беседы.

В объекте записи на стене для комментариев могут вернуться поля can_close (boolean) и can_open (boolean) .

Источник

Почему метод «message.get()» не работает?

Вопросы:

Почему метод message.get() не работает? Что использовать вместо него?

Как получить историю сообщений от пользователя или беседы, ранее писавшие боту?

Почему messages.getConversations() возвращает только последнее сообщение?

Предыстория:

Столкнулся с проблемой при работе с VK API на Python’е 3. Сделал простого бота по инструкциям (видео на YouTube, статьи различные и т.д.).

На следующий день, бот перестал работать. Происходила ошибка с параметрами метода message.get() (Ошибка №100). Зашел на документацию ВК, стал искать ошибку. Увидел, что метод устарел и понял, что метод лучше не использовать (даже если ошибка не в нем), но не знал что делать.

На просторах Интернета нашел видео, в котором использовался метод messages.getConversations() , но он показался мне менее гибким, т.к. он возвращает информацию о диалогах бота и только последнее сообщение диалога (а предыдуший возвращал список диалогов в месте с сообщениями).

Хештеги: (Написал для поиска по словам)

1 ответ 1

Метод message.get устарел и возможно был заблокирован (а если ещё нет, все равно в не рекомендуется использовать). Вместо него лучше использовать сочетание методов messages.getConversations и messages.getHistory . 1 метод возвращает список диалогов(можно использовать фильтры), 2 возвращает сообщения диалога по его id. Для наглядности выполним следующий код:

Результат (привел в читабельный вид):

На самом деле, метод messages.getConversations дает достаточно много, помимо последнего сообщения.

В нашем случае нам нужен параметр ‘peer_id’ — ID диалога. Кстати, хотел сказать, что в примере только 1 диалог, но их может быть и больше. По этому, мы будем постоянно пользоваться циклом for чтобы последовательно отвечать на сообщения разных диалогов. Теперь вместе с этим методом используем messages.getHistory :

И вот мы вывели на экран списки сообщений из каждого диалога. Далее, вместо того, чтобы выводить сообщения в консоль мы можем отвечать на них, удалять их, пересылать, записывать и т.д. Таким образом мы смогли заменить старый метод сочетанием 2-х новых.

Источник

Сбор данных пользователей беседы Vk

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Сбор данных о правах пользователей на директории на файловом сервере
Есть корпоративный файловый сервер(Win). Есть мой ПК в том же домене. Прав админа у меня нет, но.

Сбор данных пользователей после заполнения формы
Всем привет! Я джуниор ПМ и не могу придумать толковое решение задачи, так как в программировании.

Реализовать сбор и просмотр сообщений пользователей, выбор часто задаваемых вопросов и поиск по ключевым слова
Для гостевой книги, представленной документом в формате HTML, реализуйте следующие операции: а).

Сбор данных из web документа pdf каждый день и собрание базы данных
Добрый день, каждый день медицинская организация публикует отчет о зараженных короновирусом.

Сбор данных
Здравствуйте. Мне нужно сделать систему передачи данных от датчиков на сервер. Есть несколько.

Сбор данных о ПК
Здравствуйте, помогите написать программу, которая собирает данные о ПК, если честно, не понимаю в.

Сбор данных
Не знал куда написать, по-этому написал сюда. В веб программировании не силен, хочу спросить у вас.

Сбор данных
Всем привет Я написал приложение оно собирает всю нужную мне мета данные как мне лучше оправлять.

сбор данных из формы
здравствуйте. делаю сервис по ремонту бытовой техники. задача такая: пользователь создаёт.

Автономный сбор данных
Добрый время суток! На данный момент сбор данных осуществляется с помощью внешнего АЦП плюс.

Источник

Как выбрать рандомного пользователя из беседы ВКонтакте?

А что у вас не получается-то? Ни разу не трогал VK API, но вот же у них в документации всё про этот метод ваш: https://vk.com/dev/messages.getConversationMembers
И в результате он пользователей вам вернёт. Выбирайте случайного и пользуйтесь.
random.choice(users.items)
Вот и будет вам случайный из них.

Такое ощущение, что народ просто натыкается в какой-нибудь мурзилке для хацкеров на тривиальный пример кода VK-бота, у этих хацкеров мгновенно загорается над головой лампочка и начинает жечь. Так жжот, что ни документацию читать ни гуглить не хочется, а хочется сразу запрограммировать идею. После двухнедельных мытарств в поисках ответа на ютубе, в инстаграмме и твиттере методом скролла хакерских тредов с котиками кто-то подсказывает юному гению про этот чудесный ресурс, где всем бесплатно всё делают.
Вот и рождаются такие вопросы «Я ХЗ что-то я вот тут вот написал» (списал) «но не работает, что делатькакбытьпамагите!, чтотасламалося». И ни ошибки, ни сути проблемы, ничего не ясно. Ясно только что автор вопроса скорее всего не вдупляет совершенно НИЧЕГО, и ему придётся рассказывать про арифметику, про то как сложение делать, что такое цифры и какие бывают буквы, чтобы он что-то понял. Ну или чудом угадать что ему, всё таки, надо и написать работающий код, чтоб отстал и ушел.

Источник

[VK BOT] Полезные функции для бота вк (Часть 2)

P.S. Давненько я ничего не писал. Постараюсь не испортить эту статью и сделать всё по красоте, а также побыстрее выпустить 3 часть

Начнем мы с самого простого — это проверка на обращение к боту:
После проверки на тип сообщения

добавляемЧтобы всё работало как надо, нам нужно получить не всю строку $cmd а лишь первое слово из строки, для этого давайте в переменных добавим новую переменную (в bot.php из архива выше этого делать не надо, т.к. там всё это уже подготовлено)Думаю пояснить тут нужно $args, как с ним работать и для чего оно нужно нам:
1) Нужен он нам для получения например id пользователя после команды. Пришла команды !бан id. и под $args[0] будет находиться id.
Или допустим пришла команда !сообщение id. Как дела?, Тут под args[0] — id.. , args[1] — как, $args[2] — дела?, но нам нужно же передать сообщение под args[1 и 2], для этого уберем args[0] и после преобразуем остальное в строку: $get_text = implode(» «, array_slice($args, 1));
Таким образом мы преобразовали $args в строку и убрали от туда id..

Отлично, теперь давайте вернемся к проверки на обращение к боту.. Ой А ведь можно было немного по другому написать команду, чем мы и займемся. А переменные наши еще пригодятся в таком виде
Давайте заменим if(in_array($cmd, [‘бот’, ‘bot’])) < на
if(in_array(mb_strtolower($messages[0]), [‘бот’, ‘bot’])) < Теперь в теле этой проверки просто нужно отредактировать $args, $cmdА теперь добавим интересную вещь. Если вам нужно чтобы бот отвечал только тогда, когда обратились к нему, то после закрывающей скобки добавляемВ итоге у меня получился такой код:

Команда ‘созвать всех’

Для этого нам нужно превратить всю команду в строку и проверить её на текст:Далее нам нужно получить список пользователей и из него отправить уведомление каждому:Вот и готова команда, но давайте добавим интересную штуку как проверка на админ права в беседе
Сделаем это через vk_api.php откройте этот файл и листайте в самый конец скрипта и перед последней скобкой создадим новую функцию с названием isAdmin. Можно просто скопировать и вставить перед ПОСЛЕДНЕЙ скобкой public function isAdmin ($peer_id, $id)
Создали новую функцию с названием isAdmin и принимаемыми переменными (аргументами) id беседы и id пользователя

$chatInfo = $this->request(‘messages.getConversationsById’, [‘peer_ids’ => $peer_id, ‘extended’ => 0]);
Запрос к вк о получении данных о беседе

if($id == $chatInfo[‘items’][0][‘chat_settings’][‘owner_id’] || in_array($id, $chatInfo[‘items’][0][‘chat_settings’][‘admin_ids’])
Произвели проверку на совпадение id пользователя с id администраторов и создателя
Если проверка прошла, то вернули значение true, а иначе false

Объясняю как теперь это использовать в скрипте бота. Вернемся к bot.php (или как у вас называется файл бота)
После проверки на команду ‘Созвать всех’ добавляем проверку if где обратимся к созданной нами функции

Таким образом у нас получиться:

Важно: для следующих команд обязательно нужна база данных
Метод подключения и работы с ней можете использовать свой, однако я буду делать как и ранее через readBeanPHP. Как подключить и настроить можно найти в прошлых статьях, но вкратце:
1) Скачать архив выше
2) Заменить на свои данные в файле db.php
3) Подключить db.php к ваще файлу бота (в архиве он уже подключен к bot.php)
4) Используем как в статье

Также нужно отметить, что для следующей команды нужен vk_api.php который находится в архиве!!

Регистрации беседы в базе с персональными настройками

Чтобы сделать беседам какие-то свои настройки, то заходим в vk_api.php, ищем функцию registrationChat и в редактируем регистрацию в записи для бд.
Теперь нужно сделать смену названия беседы в настройках, если его изменили в беседе
Теперь в скрипте бота после регистрации (и проверки на админку) мы добавим проверку на измену названия
Таким образом мы узнали о действии в беседе, ВАЖНО! в переменных у вас должен быть $chat_act = $data->object->action; А теперь давайте получим настройки для беседы и заменим название беседы на новое. Я использую RedBeanPHP, а вы можете использовать что-то другое, однако в статье всё работает через (связанное с бд) rb.php
В теле создадим новую переменную с настройками беседы
В базе название записано в столбце ‘title’, давайте же получим пришедшее название и заменим его
Далее просто можно уведомить, что новое название было записано в бд
Итоговый код:

В след. части полезных функций:
— Аккаунты пользователей с балансом для игр и перевод денег другим пользователям
— Парочка игр на коины (валюта)
— Перевод коинов
— Команды: онлайн, погода

Источник

Читайте также:  Как починить print screen
Оцените статью