@loadi

Как считать сообщение vk на python?

Как считать цифру после сообщения?
Человек пишет боту в вк, например /play 20. Как считать его сообщение и вытащить от туда цифру ?

def write_msg(chat_id, s):
    vk.method('messages.send', {'chat_id':9,'message':s})
while True:
    response = vk.method('messages.get', values)
    if response['items']:
         values['last_message_id'] = response['items'][0]['id']
    for item in response['items']:        
        if response['items'][0]['body'] == '/play':         #play
            bet = ????
  • Вопрос задан
  • 1420 просмотров
Пригласить эксперта
Ответы на вопрос 3
YardalGedal
@YardalGedal
yeah boy
Можно использовать LongPull vk.com/dev/using_longpoll, подходит для страниц-ботов и групп-ботов. Но есть некоторая вероятность потери сообщений (исходя из личного опыта).

Можно использовать CallBack API vk.com/dev/callback_api, подходит только групп-ботов, выше стабильность, но скорость ответа ниже из-за дополнительной прослойки из веб-сервера.

Конкретно цифру вытаскивать есть два метода:
Первый через re, второй через поиск по строке (быстрее ~2 раза):

f = lambda text, command: text[text.rfind(command)+len(command):].strip()


Протестируем

>>> f('/play 20', '/play')
'20'
Ответ написан
Комментировать
userfordownload
@userfordownload
s = '/play 20'
 integ = ''.join([i if i.isdigit() else ' ' for i in s])
 print integ.split()


c3cd8ffb37244d329bbe9fd821dfc45d.PNG
Ответ написан
jasonOk
@jasonOk
Легче болтать, чем код писать
Ваш ответ на вопрос

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

Похожие вопросы