@POMA0197263

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

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

Код:
import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

def write_message(sender, message):
 authorize.method('messages.send', {'chat_id': sender, 'message': message, "random_id": get_random_id()})
def get_name(from_id):
 sender_info = getting_api.users.get(user_ids = from_id)[0]
 full_name = sender_info.get('first_name') + ' ' + sender_info['last_name']
 return full_name
token = "879fed15cf838c6c14"
authorize = vk_api.VkApi(token = token)
longpoll = VkBotLongPoll(authorize, group_id=201632468)
getting_api = authorize.get_api()
for event in longpoll.listen():
 if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat and event.message.get('text') != "":
  reseived_message = event.message.get('text')
  sender = event.chat_id
  from_id = event.message.get('from_id')
  name = get_name(from_id)
  peer_id = event.peer_id
  if reseived_message.lower() == "/бот":
   write_message(sender, "Работаю")
  elif reseived_message.lower() == "/привет":
   write_message(sender, "Здравствуйте" + ', ' + name)
  elif reseived_message.lower() == "/команды":
   write_message(sender, "Команды:\n1) /бот\n2) /команды\n3) /version")
  elif reseived_message.lower() == "/помощь":
   write_message(sender, "Команды:\n1) /бот\n2) /команды\n3) /version")
  elif reseived_message.lower() == "бот":
   write_message(sender, "Да я тут ")
  elif reseived_message.lower() == "/version":
   write_message(sender, " Версия бота: 0.1.2 alpha test")


Ошибка: vk_api.exceptions.ApiError: [113] Invalid user id
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
rackev
@rackev
Оригинальность вопроса 100 из 100.

def get_name(from_id):
    if from_id > 0:
        sender_info = getting_api.users.get(user_ids = from_id)[0]
        full_name = sender_info.get('first_name') + ' ' + sender_info['last_name']
    else:
        #далее обрабатываете получение названия сообщества
    return full_name
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы