python — Ошибка при отправке ботом сообщения vk_api
Вопрос задан
Изменён 1 год 8 месяцев назад
Просмотрен 7k раз
При отправке сообщения ботом пользователю, крашится с ошибкой: vk_api.exceptions.ApiError: [901] Can't send messages for users without permission
, у бота имеются все нужные разрешение в настройках, так же у пользователя нет запрета на сообщения.
Код:
import vk_api from vk_api.utils import get_random_id from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType vk_session = vk_api.VkApi(token="Тут ваш токен") vk = vk_session.get_api() longpoll = VkBotLongPoll(vk_session, "Айди сообщества (Не кастомное) пример: 94124211") for event in longpoll.listen(): if event.obj.text != "": if event.from_user: vk.messages.send( user_id=event.obj.from_id, random_id=get_random_id(), message=event.obj.text)
- python
- python-3.x
- vkontakte-api
- вконтакте
5
Сам встретился с этой ошибкой, проблема оказалась в том, что мой бот пытался ответить на своё же сообщение, т.е. getFromId и getText на проблемном сообщении показал ответ сервера и минусовой id, вместо ожидаемого сообщения пользователя
Как сообщение бота попадает в пачку сообщений от вк пока разбираюсь.
Переписка с сообществом может быть инициирована только самим пользователем. Написать от имени группы людям, которые не переписывались с ним, не получится. Однако, когда переписка инициирована, сообщество сможет отправлять сообщения без ограничений по времени или количеству.
Пользователь может инициировать переписку:
- отправив сообществу сообщение со страницы сообщества;
- с помощью кнопки «Разрешить сообщения» на странице сообщества;
- отправив сообществу сообщение с помощью виджета «Сообщения сообщества», размещённого на сайте сообщества;
- разрешив отправлять ему личные сообщения с помощью виджета «Разрешить писать сообществу» или метода API VK в стороннем приложении (отправлять сообщение для этого не требуется).
Источник: Сообщения сообщества.
4
901 — Пользователь запретил отправку сообщений от имени сообщества. Это значит, либо пользователь запретил получать сообщения от группы, либо ещё не писал в неё. Если, пользователь ВКонтакте не написал сообщение в группу, значит он и не может получать их, так как это скорее всего как анти-спам.
Скорее всего проблема в ID пользователя. Можно использовать: event.user_id
0
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
vkontakte api — Бот на Python 3.

Я написал бота для вк, но почему то, он пишет всем подряд, хотя ему ничего не писали
код:
import random import time import vk_api from vk_api.longpoll import VkLongPoll, VkEventType #ВХОД ОТ ИМЕНИ ГРУППЫ vk_session = vk_api.VkApi(token="f61acc2a7b90f3772f9606a83e7b2ea1fbec2d3dgg6786fdbabe5ce70656c626f200f70147a494d9902b9") #КОМАНДЫ commands_list = ['тз'] #ПРИВЕТСТВИЯ greetings = ['привет', 'здравствуй','ку','хелло','прив', 'начать', 'меню', 'доброе утро', 'добрый день', 'добрый вечер', 'здравствуйте', 'салют','здорово', 'приветствую'] #Список цветов для ТЗ colors_list = ['Чёрный', 'Серый', 'Белый', 'Лиловый', 'Бирюзовый', 'Сиреневый', 'Пурпурный', 'Фиолетовый', 'Мятный', 'Голубой', 'Синий', 'Фисташковый', 'Салатовый', 'Травяной', 'Зелёный', 'Золотой', 'Янтарный', 'Жёлтый', 'Хаки', 'Какао', 'Бежевый', 'Персиковый', 'Коралловый', 'Оранжевый', 'Коричневый', 'Розовый', 'Фуксия', 'Вишневый', 'Красный', 'Бордовый', 'Изумрудный', 'Кремовый'] #Список тем для ТЗ Order_list = ['Обложка', 'Рекламный креатив', 'Баннер', 'Превью', 'Визитка', 'Флаер', 'Афиша'] #Тематика ТЗ Thematics = ['Цветочный магазин', 'Такси', 'Телефоны и Ноутбуки', 'Веганская еда', 'Спортивный магазин', 'Детские игрушки', 'Рок-концерт', 'Косметология', 'Медицина', 'Планетарий', 'Аквапарк', 'Хлебопекарня', 'Выпечка тортов', 'Тур-агенство (курорты)', 'Авиалинии', 'Аниме-фестиваль', 'Выставка', 'супрематизма', 'Паракмахерская', 'Магазин мёда', 'Лего', 'Мясной рынок', 'Пиццерия', 'Сантехника', 'Зоомагазин', 'Скейтпарк', 'Ремонт космических кораблей', 'музей космонавтики', 'Филармония', 'Выставка ретро автомобилей', 'Пошив одежды', 'Архитектурное бюро', 'Тату Мастер', 'Учителя защиты от тёмных искусств', 'Художник', 'Ювелирная мастерская', 'Корма для животных'] ####################################################################################################################### print('Бот запущен!') #Прослушивание longpoll = VkLongPoll(vk_session) vk = vk_session.get_api() for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text: #Приветствие if event.text.lower() in greetings: vk.messages.send( user_id=event.user_id, random_id=event.random_id, message='Привет, я Креативный Дизайнер!\n\nЯ сгенерирую для тебя рандомное техническое задание.' + \ ' С моей помощью ты сможешь набраться опыта, пополнить своё портфолио новыми работами и развить креативность. ' + \ 'Готов начать?\n\nНапиши мне команду «ТЗ»' ) #Техническое задание elif event.text.lower() in commands_list[0]: #Сообщение colors_list_1 = random.randint(0, len(colors_list) - 1) colors_list_2 = random.randint(0, len(colors_list) - 1) # чтобы цвета не дублировались while colors_list_1 == colors_list_2: colors_list_2 = random. randint(0, len(colors_list) - 1) #Отправка сообщения vk.messages.send( user_id=event.user_id, random_id=event.random_id, message= 'Техническое задание:\n\nНужно сделать:\n– '+ Order_list [ random.randint(0, len(Order_list) - 1) ] + \ '\n\nТематика:\n– '+ Thematics [ random.randint(0, len(Thematics) - 1) ]+'\n\nОсновные цвета:\n– '+ \ colors_list [colors_list_1] + ', ' + colors_list [(colors_list_2) ] ) #Неправильная команда else: vk.messages.send( user_id=event.user_id, random_id=event.random_id, message='Я вас не понимаю.\nНапишите «ТЗ»' )
Как создать SMS-бота за 10 минут или меньше с нулевым программированием
Если вы хотите, чтобы ваша организация была в курсе срочных обновлений, вам подойдет SMS-бот.
90% текстовых сообщений прочитываются в первые 3 минуты.
И SMS используют все, у кого есть мобильный телефон, независимо от устройства или технологической платформы.
SMS-боты позволяют отправлять текстовые сообщения подписчикам и вести автоматические разговоры с помощью текстовых сообщений.
В этом руководстве мы проведем вас через 5 шагов по созданию SMS-бота, от загрузки списка контактов до составления контента для отправки в SMS-рассылке и настройки основных диалоговых ответов.
Найдите своих клиентов с помощью Customers.ai
Ознакомьтесь с новой платформой автоматизации продаж Customers.ai. С функцией обнаружения посетителей веб-сайта X-Ray и автоматизированной электронной почтой и SMS, чтобы помочь компаниям среднего размера найти своих идеальных клиентов. Закажите звонок, чтобы узнать больше об автоматизации продаж уже сегодня!
Запросить мою бесплатную демо-версию
Любой может создать SMS-бота с помощью Customers. ai. Не требуется кодирование или предыдущий опыт работы с чат-ботом.
Руководство по сборке SMS-ботов без программирования
Вот что мы рассмотрим в этом руководстве по созданию SMS-бота за 10 минут:
- Что такое SMS-бот?
- Как создать SMS-бота за 5 шагов
Перейдите к разделу со ссылками выше или прочтите полное руководство.
Что такое SMS-бот?
SMS-бот — это программное обеспечение, которое отправляет и отвечает на сообщения в SMS (служба коротких сообщений), также известном как обмен текстовыми сообщениями. Текстовые сообщения являются мгновенными и легко доступными, что делает SMS-ботов масштабируемым решением для организаций здравоохранения, школ и детских садов, правительства и инфраструктуры, а также предприятий всех типов для предоставления обновлений в режиме реального времени.
SMS-боты позволяют легко отправлять массовые текстовые сообщения списку контактов. Можно легко персонализировать SMS-ботов, которые можно использовать для начала интерактивных двусторонних разговоров, не требующих от клиентов загрузки нового приложения или доступа к нему. SMS-боты — это канал с высокой вовлеченностью для рассылки маркетинговых акций и новостей о продажах лидам и клиентам.
SMS-боты также позволяют масштабировать поддержку клиентов с помощью текстовых сообщений, позволяя клиентам получать обновления заказов и совершать покупки. SMS-боты могут быть запрограммированы на умные ответы, чтобы подписчики могли задавать вопросы или получать мгновенную информацию.
Рассмотрим следующие распространенные примеры использования SMS-ботов:
- Отправлять срочные обновления статуса
- Предлагайте распродажи и рекламные акции
- Отправка приглашений на вебинары и мероприятия
- Подтвердить бронирование
- Отправка напоминаний о встречах
- Отправка напоминаний об оплате
- Отправлять внутренние обновления компании
Подробнее о примерах использования SMS-ботов читайте в нашем руководстве «Примеры SMS-маркетинга».
Как создать SMS-бота за 5 шагов
К счастью, создание SMS-бота не требует навыков программирования. Просто зарегистрируйтесь в визуальном конструкторе SMS-чатов от Customers.ai и выполните следующие действия.
Вот как создать SMS-бота за 5 шагов:
- Используйте визуальный конструктор SMS-ботов, например Customers.ai.
- Загрузите свой список контактов.
- Создать SMS-рассылку.
- Добавляйте содержимое SMS и MMS с помощью виджетов содержимого.
- Добавьте диалоговые триггеры вопросов и ответов, чтобы запрограммировать ответы интеллектуальных SMS-ботов.
Давайте подробнее рассмотрим эти инструменты SMS-маркетинга в Customers.ai и то, как настроить каждый шаг и создать собственного SMS-бота.
Шаг 1: Активируйте инструменты SMS в Customers.ai.
Зарегистрируйте бесплатную учетную запись Customers.ai. Customers.ai — это чат-платформа для автоматизации сообщений в SMS, веб-чате и Facebook Messenger.
Войдите в Customers.ai и перейдите к SMS-инструментам в левой навигационной панели.
Нажмите кнопку «Активировать SMS».
Вы получите номер телефона SMS-бота, с которого будете отправлять и получать SMS-сообщения.
Шаг 2: Загрузите свой список контактов.
Далее мы загрузим существующий список телефонных номеров, которые согласились получать обновления текстовых сообщений от вашей организации.
Перейти к инструментам потенциальных клиентов в левой панели навигации.
Щелкните ссылку, чтобы импортировать CSV-файл контактов.
Подготовьте файл CSV следующим образом:
Используйте заголовки столбцов для указания типа данных (имя, фамилия, номер телефона).
При загрузке CSV-файла сопоставьте данные с атрибутами контакта с помощью раскрывающегося списка:
Когда вы закончите сопоставление данных с атрибутами контакта, нажмите «Готово», чтобы загрузить список номеров телефонов.
Рекомендуем прочитать: Есть и другие способы получить больше подписчиков SMS. Узнайте обо всех них в руководстве « Как получить больше подписчиков SMS : 15 неотразимых стратегий подписки на SMS для расширения списка».
Шаг 3: Создайте рассылку SMS.
После загрузки списка контактов вы готовы создавать контент для SMS-бота.
Перейдите в Маркетинговые инструменты > Chat Blaster.
Создайте новый чат последним и назовите взрыв как-нибудь описательно. После того, как вы запустите этого SMS-бота, вы сможете просматривать показатели эффективности, такие как процент открытий и уровень ответов, поэтому вам нужно будет идентифицировать эту кампанию в линейке. Подробнее об аналитике чат-ботов читайте здесь.
Выберите SMS в качестве платформы для отправки сообщения в чат.
Выберите свою аудиторию.
- Если вы только начинаете работу с Customers.ai, выберите аудиторию «Все контакты», которая будет заполнена новым списком контактов SMS, загруженным на шаге 2.
- Если у вас есть контакты на Customers.ai, ознакомьтесь с руководством «Как сегментировать аудиторию», чтобы создать аудиторию SMS-контактов для этой рассылки SMS.
ПОЛУЧИТЕ НОВЫЕ ИНСТРУМЕНТЫ АВТОМАТИЗАЦИИ, ОДОБРЕННЫЕ МЕТА, ЧТОБЫ РАСШИРИТЬ ВАШУ АУДИТОРИЮ В INSTAGRAM И FACEBOOK ОТ Customers.

Активируйте бесплатную версию InstaChamp VIP & Creator Edition
Шаг 4. Добавьте содержимое SMS и MMS с помощью виджетов содержимого.
Используйте конструктор визуальных ботов StartBot, чтобы добавить содержимое в SMS-бот.
Щелкните значок «+», чтобы просмотреть все мультимедийные виджеты, которые можно добавить в SMS, включая:
- Быстрые вопросы
- Изображения
- Текст
- анимированных GIF-файлов
Когда вы добавляете контент в своего SMS-бота, вы увидите его в окне предварительного просмотра справа.
Если вы хотите предоставить пользователям возможность взаимодействовать с быстрыми ответами, которые ведут к новой части беседы, используйте виджет «Быстрый вопрос».
Введите текст вопроса в текстовое поле, а затем добавьте быстрый ответ, например «Да». Выберите «Новый путь», чтобы настроить ответ бота, если пользователь ответит «Да».
Щелкните значок «+», чтобы добавить ответ SMS-бота к этому ответу.
Вы можете добавить несколько быстрых ответов, вернувшись к «добавить ответ» и добавив новые пути для записи ответа бота на каждый предоставленный вами вариант ответа пользователя.
Customers.ai автоматически переведет параметры быстрого ответа в «Ответить 1 для подтверждения».
Когда вы закончите добавлять контент, выберите немедленную рассылку или запланируйте рассылку на дату и время в будущем.
Затем нажмите кнопку «Отправить» в правом верхнем углу экрана.
Шаг 5. Добавьте триггеры вопросов и ответов для создания диалогового SMS-бота.
Вы хотите, чтобы ваш SMS-бот вел умные разговоры с открытыми вопросами?
Вы можете обучить своего бота, чтобы он знал, что говорить, когда люди говорят «обслуживание клиентов» или «продажи», используя триггеры вопросов и ответов.
Вопросы и ответы — это то, как вы можете обучить обработку естественного языка (NLP) вашего бота, чтобы отвечать на вопросы, отправленные вашему SMS-боту.
Перейдите в Чат-боты > Вопросы и ответы на левой панели навигации.
Нажмите желтую кнопку «Новые вопросы и ответы», чтобы добавить новый ответ смарт-бота на ваш SMS-бот.
Добавьте триггер ключевого слова Q&A в поле «Если пользователь говорит что-то похожее на» и напишите ответ бота в поле «Бот отвечает с».
Вуаля. Вы создали SMS-бота менее чем за 10 минут. Готовы протестировать SMS-бота, чтобы увидеть его в действии?
Сначала станьте контактным лицом SMS, отправив текстовое сообщение «DEMO» на номер 1-802-294-4135. Вы получите автоматический ответ нашего SMS-бота.
Затем проверьте ответ бота вопросов и ответов Customers.ai, ответив «CORONAVIRUS».
Создайте своего первого SMS-бота
Создание своего SMS-бота — это удобный и современный способ оставаться на связи с теми, кто хочет получать ваши срочные обновления для маркетинга, поддержки клиентов и мгновенного общения.
Любой может создать SMS-бота за считанные минуты без программирования с помощью визуальных инструментов SMS-маркетинга в Customers. ai.
Начав с собственных приемов SMS-маркетинга для лидогенерации, продаж и обслуживания клиентов, вы будете доступны для тех, кто полагается на ваши услуги 24 часа в сутки, 7 дней в неделю.
Создайте бесплатную учетную запись Customers.ai сегодня, чтобы начать исследовать мир интерактивного общения в реальном времени с помощью SMS-ботов.
Найдите своих клиентов с помощью Customers.ai
Ознакомьтесь с новой платформой автоматизации продаж Customers.ai. С функцией обнаружения посетителей веб-сайта X-Ray и автоматизированной электронной почтой и SMS, чтобы помочь компаниям среднего размера найти своих идеальных клиентов. Закажите звонок, чтобы узнать больше об автоматизации продаж уже сегодня!
Запросить бесплатную демоверсию
Важные дальнейшие шаги
- Зарегистрируйтесь в конструкторе чат-ботов OmniChat™ от Customers.ai, чтобы создать SMS-бота и запустить маркетинговые кампании с помощью текстовых сообщений.
- Отправьте текстовое сообщение «DEMO» на номер 1-802-294-4135, чтобы увидеть интерактивного SMS-бота в действии.
- Узнайте о SMS-маркетинге с другими компаниями, маркетологами и предпринимателями. Присоединяйтесь к Customers.ai Island, группе Facebook, в которую входят 35 000 маркетологов и предпринимателей.
Отправить сообщение боту | API платформы чата
Отправить сообщение боту | API чат-платформы | Документы SendbirdSkip до основного контента
- Перейдите к Docs Docs Sendbird. 3
Домашняя страница
/
Чат
/
API платформы
/
Бот
Скопировать ссылку
Отправляет сообщение боту на групповой канал.
Примечание : Боты могут отправлять только текстовые сообщения.
HTTP-запрос
Копировать ссылку
Параметры
Копировать ссылку
В следующей таблице перечислены параметры, поддерживаемые этим действием.
Обязательно
Название параметра Тип Описание bot_userid
строка
Указывает уникальный идентификатор бота.
Тело запроса
Скопировать ссылку
В следующей таблице перечислены свойства HTTP-запроса, которые поддерживает это действие.
Свойства
Обязательно Тип Описание сообщение
04строка
Указывает содержимое сообщения, отправляемого ботом.
channel_url
строка
Указывает URL-адрес канала, на который отправляется сообщение.
Optional Type Description custom_type
string
Specifies a custom message type which is used for message grouping.
Длина ограничена 128 символами.
данные
строка
Указывает дополнительную информацию о сообщении, такую как пользовательский размер шрифта, тип шрифта или строка в формате
JSON
.send_push
логический
Определяет, следует ли отправлять push-уведомление для сообщения участникам канала. (По умолчанию: true )
упоминается
массив строк
Указывает массив идентификаторов пользователей, которые получают уведомление о сообщении.
mark_as_read
boolean
Определяет, следует ли помечать сообщение как прочитанное для бота. Если установлено значение false , значения unread_count и read_receipt бота остаются неизменными после отправки сообщения.