Answer the question
In order to leave comments, you need to log in
When calling general collection, the name comes out left. How to fix?
The essence of the error When the command (general collection) is triggered, where there is a name variable, the name is displayed there by some kind of Dima trunduk, yesterday everything worked fine. I rewrote the code with the name variables, but the problem remained .... And I changed the token, nothing helped.
.
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.utils import get_random_id
def write_message(sender, message):
authorize.method('messages.send', {'chat_id': sender, 'message': message,
'random_id': get_random_id()
})
# код на кик участника не работает authorize.method("messages.removeChatUser",{'user_id': user_id,'})
# Упоминание участника в беседе
def get_name(from_id):
sender_info = getting_api.users.get(user_ids=from_id > 0)[0]
full_name = sender_info.get('first_name') + ' ' + sender_info['last_name']
return full_name
# код на позвать пользователя в беседе. работает.
def get_chat_member(sender, group_id, user_name_search):
members = getting_api.messages.getConversationMembers(peer_id=2000000000 + sender, group_id=group_id)['profiles']
for i in range(len(members)):
if members[i]['first_name'] == user_name_search:
user_id = members[i]['id']
full_name = members[i]['first_name'] + ' ' + members[i]['last_name']
appeal = '@id' + str(user_id) + ' (' + full_name + ')'
return appeal
token = 'токен'
authorize = vk_api.VkApi(token=token)
longpoll = VkBotLongPoll(authorize, group_id=0000)
getting_api = authorize.get_api()
# Склоления по падежам
#def cases(user_ids):
#Users = authorize.method('users.get', {'user_ids': 0, 'fields': 0, 'name_case': 0})
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat and event.message.get('text') != '':
received_message = event.message.get('text')
sender = event.chat_id
from_id = event.message.get('from_id')
name = get_name(from_id)
if received_message == 'Лейла':
write_message(sender, 'Соска')
elif received_message == 'Спокойной ночи':
write_message(sender, 'Добрых снова, зайка!' + ', ' + name)
elif received_message == 'Общий сбор':
write_message(sender, 'Внимание олухи!' ' ' + name + ' ' 'Объявляет общий сбор! @all ')
elif received_message == 'Созвать онлайн':
write_message(sender, 'Внимание лапиндосы!' ', ' + name + 'Говорит: не молчите! @online ')
elif received_message == 'Кофе':
write_message(sender, 'Кофе и кофе, че бубнить то... ')
elif received_message == 'Инсайдер':
write_message(sender, 'Самый крутой чел на планете ')
elif received_message == 'Эмили':
write_message(sender, 'Солнышко ')
elif received_message == 'Виктор':
write_message(sender, 'Злобный пёс ')
elif received_message[0:6] == 'Позови':
user_name_search = received_message[7:]
chat_member = get_chat_member(sender, 000000, user_name_search)
if chat_member is None:
write_message(sender, 'Данный пользователь отсуствует в беседе')
else:
write_message(sender, chat_member + ', вас вызывают')
elif received_message == 'Люци':
write_message(sender, "✅ i'll be back")
elif received_message == 'Помощь':
write_message(sender, ' Полный список команд можно почитать тут: \nhttp')
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question