Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2018, 20:02   #1
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию Бот в вк

Решил написать бота вк на питоне, который в чате будет общаться ( отвечать на сообщения заранее заготовленными кусками текста). А так же он будет хранить у себя внутри рейтиинг пользвателей по трем параметрам: этика , логика, тема конфы.
Пробую разобраться , первое, что посмотрел, было вот это:
https://habr.com/post/335106/
Сложно.
Потом перешел вот на этот пост: https://habr.com/post/428507/ Тут как то получше.
На данный момент у меня реализация вот такая
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:04   #2
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Код:
# -*- coding: utf-8 -*-
# скрипт был создан автором канала IT THINGS:https://yotube.com/c/ITTHINGS
import vk_api
import time

token = "a45893eeee6de9a6d73a374364b5ac7f5edf0baf26360beaafaa995d2b9c7439fe6deab6cbfa74ed558ac"

vk_session = vk_api.VkApi(token=token)

vk_session._auth_token()
from vk_api.longpoll import VkLongPoll, VkEventType
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:
   #Слушаем longpoll, если пришло сообщение то:         
        if event.text == 'Привет' or event.text == 'здорова': #Если написали заданную фразу
            if event.from_user: #Если написали в ЛС
                vk.messages.send( #Отправляем сообщение
                    user_id=event.user_id,
                    message='хай'
        )
            elif event.from_chat: #Если написали в Беседе
                vk.messages.send( #Отправляем сообщение
                    chat_id=event.chat_id,
                    message='Ваш текст'
        )
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:04   #3
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Все нормально вплоть до того момента, пока сообществу не приходит сообщение. Тогда генерируется ошибки:
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:04   #4
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Код:
Traceback (most recent call last):
  File "C:\Users\Ximikadze\Downloads\special_for_IT_THINGS_subs-vk_bot.py", line 21, in <module>
    message='хай'
  File "C:\Users\Ximikadze\AppData\Local\Programs\Python\Python37-32\lib\site-packages\vk_api\vk_api.py", line 646, in __call__
    return self._vk.method(self._method, kwargs)
  File "C:\Users\Ximikadze\AppData\Local\Programs\Python\Python37-32\lib\site-packages\vk_api\vk_api.py", line 615, in method
    raise error
vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: random_id is a required parameter
[Finished in 13.6s]
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:07   #5
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

скриншот
Изображения
Тип файла: jpg Скриншот 2018-12-11 19.58.24.jpg (99.5 Кб, 161 просмотров)
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:10   #6
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Что это за ошибка? точный поиск по 646 строке не дал результата. самая близкая ошибка была тут https://toster.ru/q/583811
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:16   #7
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию ошибка

Я вообще на делфи раз в два три месяца что то пишу. А тут меня че то сюда потянуло...
Но мне непонятно, что это.

А вообще открылась какая то новая страница.

вот с 635 по 646 строку
Код:
def __getattr__(self, method):
        if '_' in method:
            m = method.split('_')
            method = m[0] + ''.join(i.title() for i in m[1:])

        return VkApiMethod(
            self._vk,
            (self._method + '.' if self._method else '') + method
        )

    def __call__(self, **kwargs):
        return self._vk.method(self._method, kwargs)
вот с 598 по 618

Код:
if 'error' in response:
            error = ApiError(self, method, values, raw, response['error'])

            if error.code in self.error_handlers:
                if error.code == CAPTCHA_ERROR_CODE:
                    error = Captcha(
                        self,
                        error.error['captcha_sid'],
                        self.method,
                        (method,),
                        {'values': values, 'raw': raw},
                        error.error['captcha_img']
                    )

                response = self.error_handlers[error.code](error)

                if response is not None:
                    return response

            raise error

        return response if raw else response['response']
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками

Последний раз редактировалось Alex11223; 06.05.2019 в 17:52.
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:17   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

На чистом аглицком написано же:
Цитата:
Сообщение от anaschu Посмотреть сообщение
random_id is a required parameter
Видимо, нужно указывать какой-то случайный random_id
Black Fregat вне форума Ответить с цитированием
Старый 11.12.2018, 20:42   #9
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

Да, наверное. надо погуглить,что это за рандом такой
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Старый 11.12.2018, 20:49   #10
anaschu
Форумчанин
 
Регистрация: 21.09.2012
Сообщений: 372
По умолчанию

заработало!
Занимаюсь:1.зверьком- покемончиком для компьютерного затончика. 2 IT-грибами,что бы скушать потом их с вами.3. цифровым обезьянками, как куны ударяют за тянками
anaschu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бот на c++ ilyagovsa Помощь студентам 5 16.08.2013 00:23
Покер бот. Boxingtime Фриланс 3 08.01.2012 02:52
Бот Skalp Фриланс 0 18.12.2011 09:34
Бот Vovchik123 C# (си шарп) 3 20.06.2011 16:30
БОТ beygul Помощь студентам 6 12.01.2011 21:55