def main(): def write_msg(user_id, message, random_id): vk.method('messages.send', { 'user_id': user_id, 'message': message, "random_id": random_id }) vk = vk_api.VkApi(token=VK_TOKEN) longpoll = VkLongPoll(vk) for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) write_msg(event.user_id, bot.new_message(event.text), random_id=event.random_id) print('Text: ', event.text)
def main(): for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me: print('Новое сообщение:') print(f'От пользователя: {event.user_id} ', end='') bot = VkBot(event.user_id) write_msg(event.user_id, bot.new_message(event.text)) print(' Сообщение:', event.text)
def bot_launch(longpoll, vk_comunity, keyboard): print('Бот запущен \U0001F916') for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: # Объект бота bot = VkBot(event.user_id) print('\nНовое сообщение \U0001F4EC') print(f'ID: {event.user_id} \U0001F194') print(f'Имя: {bot._get_user_name(event.user_id)} \U0001F974') print(f'Текст: {event.text} \U0001F4DD') # Бот отвечает bot_message(event.user_id, bot.new_message(event.text), vk_comunity, keyboard)
def start(self): print('Server Started!') for event in self.long_poll.listen(): # Пришло новое сообщение if event.type == VkBotEventType.MESSAGE_NEW: if event.object.message['from_id'] == event.object.message[ 'peer_id']: bot = VkBot(event.from_user) keyboard = create_keyboard() print(event.object.message['from_id'], ':', event.object.message['text']) bot.send_msg(send_id=event.object.message['from_id'], message=bot.new_message( event.object.message['text']), vk_api=self.vk_api, keyboard=keyboard) elif event.object.message['from_id'] != event.object.message[ 'peer_id']: bot = VkBot(event.from_user) keyboard = create_empty_keyboard() user = self.vk.method( "users.get", {"user_ids": event.object.message['from_id']}) name = user[0]['first_name'] try: bot.send_msg( send_id=event.object.message['peer_id'], message=bot.chat_new_message( text=event.object.message['text'], peer_id=event.object.message['peer_id'], from_id=event.object.message['from_id'], name=name, vk_api=self.vk_api), keyboard=keyboard, vk_api=self.vk_api) except: pass
# API-ключ созданный ранее token = "5d1d08c4b4b739b6718b5a9a09aa71332ba4f687aa58321344f706b4351c2a470d3a9011ad64e312dad30" # Авторизуемся как сообщество vk = vk_api.VkApi(token=token) # Работа с сообщениями longpoll = VkLongPoll(vk) commander = Commander() print("Server started") for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) if event.text[0] == "/": write_msg(event.user_id, commander.do(event.text[1::])) else: write_msg(event.user_id, bot.new_message(event.text)) print('Text: ', event.text)
import random import vk_api from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType from settings import vk_group_token, vk_group_id from vk_bot import VkBot import requests token = vk_group_token vk_session = vk_api.VkApi(token=token) print("Server started") bot = VkBot() while True: longpoll = VkBotLongPoll(vk_session, vk_group_id) vk = vk_session.get_api() try: for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: message = bot.new_message(event.object.message['text'], event.object.message['from_id'], event.object.message['peer_id']) if message != "no": vk.messages.send(peer_id=event.object.message['peer_id'], message=message, random_id=random.randint(0, 2048)) except requests.exceptions.ReadTimeout as timeout: continue
try: for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: bot = VkBot(event.user_id) if event.text.lower() == "о нас 🎯": write_msg(event.user_id, "Немного о нашем проекте", about_us_keyboard) elif event.text.lower() == "мероприятия 🍔": write_msg(event.user_id, "Что ты хочешь узнать?", events_keyboard) elif event.text.lower() == "приложения 🌏": write_msg(event.user_id, "Посмотри, что есть здесь!", app_keyboard) elif event.text.lower() == "контакты 📙": write_msg(event.user_id, "По любым вопросам можешь обращаться к:", contacts_keyboard) elif event.text.lower() == "задать вопрос руководителю проекта": write_msg(event.user_id, "У тебя есть возможность написать сообщение нашему Руководителю проекта 👇", go_answer) elif event.text.lower() == "калькулятор 💡": write_msg(event.user_id, "В разработке...", calc_keyboard) # elif event.text == " ".join(re.findall('\d{2}', event.text)): # write_msg(event.user_id, "Отлично, мы здесь", calc_keyboard) elif event.text.lower() == "как попасть в команду ?": write_msg(event.user_id, "Напиши координатору проекта - Никите\n" "или перейди на сайт проектной деятельности,\n" "найди проект номер 612 и подай заявку", in_team) else: write_msg(event.user_id, bot.new_message(event.text), main_keyboard) except Exception as e: print(e)
keyboard = VkKeyboard() keyboard.add_button('Привет', color=VkKeyboardColor.DEFAULT) keyboard.add_button('Погода', color=VkKeyboardColor.POSITIVE) keyboard.add_line() keyboard.add_button('Время', color=VkKeyboardColor.NEGATIVE) keyboard.add_button('Пока', color=VkKeyboardColor.PRIMARY) # Основной цикл бота print("Server started") for event in longpoll.listen(): # Если пришло новое сообщение if event.type == VkEventType.MESSAGE_NEW: # Если оно имеет метку для меня if event.to_me: # Сообщение от пользователя print('New message:') print(f'For me by: {event.user_id}') # Ответы в зависимости от сообщения пользователя bot = VkBot(event.user_id) vk.messages.send( user_id=event.user_id, message=bot.new_message(event.text), random_id=get_random_id(), keyboard=keyboard.get_keyboard() ) print('Text: ', event.text)
# Работа с сообщениями longpoll = VkLongPoll(vk) upload = VkUpload(vk) # Основной цикл print("Server started") for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) # определяет какого типа сообщение - если требуется ответ от пользователя то создадим новый цикл result = write_msg(event.user_id, bot.new_message(event.text), "Нет процесса") if result == "Конвертация": # запуск процесса Конвертации timing = time.time() for event in longpoll.listen(): if time.time() - timing > 100: break elif event.type == VkEventType.MESSAGE_NEW: if event.to_me: timing = time.time() if not write_msg(event.user_id, event.text, "Конвертация"): break if result == "Банкомат": # запуск процесса Конвертации timing = time.time() for event in longpoll.listen():
def run(self): for event in long_poll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: bot = VkBot(event.user_id, vk) bot.new_message(event.text)
vk = vk_api.VkApi(token=token) # Работа с сообщениями longpoll = VkLongPoll(vk) # Основной цикл print("Server started") keyboard = open("keyboard.json", "r", encoding="UTF-8").read() for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) write_msg(event.user_id, bot.new_message(event.text), event.random_id) print('Text: ', event.text) vk.method( 'messages.send', { 'user_id': event.user_id, 'keyboard': keyboard, 'message': 'ыыы', 'random_id': 0 }) if event.text.lower() == 'саня': vk.method( 'messages.send', {
#print(bal.get_user_id(1)) session = vk_api.VkApi( token= '69a17e5303be5bc5218137622fa9684f6ac9b11d32f15c6b0b58cd3d1e1e8eee8ad89b443fb66c77d0c77' ) #api = vk.get_api() longpoll = VkBotLongPoll(session, 182437918) bot = VkBot() for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: if event.from_user: if event.message.text != '': write_msg(event.message.peer_id, bot.new_message(event.message.text)) elif event.from_chat: if event.message.text != '': if event.message.text[0] == '/': l = list(event.message.text).remove('/') s = '' for ch in l: s += ch write_msg(event.message.peer_id, bot.new_message(s))
random_id = randint(1, 100000) vk.method('messages.send', { 'user_id': user_id, 'message': message, 'random_id': random_id }) token = my_token vk = vk_api.VkApi(token=token) longpoll = VkLongPoll(vk) print("Bot have been started") for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) message, flag = bot.new_message(event.text, flag) write_msg(event.user_id, message) print('Text: ', event.text) #необходимо писать название города на русском языке #но существует защита от неправильного или несуществующего города
from vk_bot import VkBot import vk_api, random, json from vk_api.longpoll import VkLongPoll, VkEventType def write_msg(user_id, message): vk.method('messages.send', answer) with open('Token.txt', 'r') as file: token = file.read() vk = vk_api.VkApi(token=token) longpoll = VkLongPoll(vk) print("Server started") for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: print('New message:') print(f'For me by: {event.user_id}', end='') bot = VkBot(event.user_id) answer = bot.new_message(event.text) write_msg(event.user_id, answer) print('Text: ', event.text)