Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
    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
Example #5
0

# 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)
Example #6
0
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
Example #7
0
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)
Example #8
0
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)
Example #9
0
# Работа с сообщениями
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)
Example #11
0
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', {
Example #12
0
#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))
Example #13
0
    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)

#необходимо писать название города на русском языке
#но существует защита от неправильного или несуществующего города
Example #14
0
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)