Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
17 / 1 / 0
Регистрация: 10.12.2018
Сообщений: 85
VK Bot

Создание кнопок

04.04.2021, 19:43. Показов 3013. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Возникла такая проблема, я создаю бота в вк для сообщества, после того как участник написал привет, должно выходить сообщение с приветствием и кнопка для дальнейших действий, подскажите как это сделать, кнопки у меня не появляются. Еще хотелось бы сделать приветствие с обращением по имени, но я не знаю как...Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import vk_api,random, json
from vk_api import VkUpload
from vk_api.bot_longpoll import VkBotLongPoll
from vk_api.bot_longpoll import VkBotEventType
token = "**************"
vk=vk_api.VkApi(token=token)
vk._auth_token()
upload=VkUpload(vk)
def get_button (label,color,payload=""):
    return {
                "action": {
                    "type": "text",
                    "payload": json.dumps(payload),
                    "label": label
                },
                "color": color
            }
 
keyboard = {
    "one_time": True,
    "buttons": [
        [
                get_button(label="Кнопка 1", color = "Positive"),
                get_button(label="Кнопка 2", color = "Negative"),
                get_button(label="Кнопка 3", color = "Primary"),
                get_button(label="Кнопка 4", color = "default")
 
        ]
    ]
}
 
keyboard = json.dumps(keyboard, ensure_ascii=False).encode('utf-8')
keyboard = str(keyboard.decode('utf-8'))
 
 
while True:
    messages = vk.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unanswered"})
    if messages["count"]>=1:
        text= messages['items'][0]['last_message']['text']
        user_id = messages ['items'][0]['last_message']['from_id']
        if text.lower() =='Привет' or text.lower()=='привет':
            vk.method("messages.send", {"user_id":user_id,"message":"Привет друг! Ты вступил в сообщество Смотри фильм с неЗ(н)айками, с чем мы тебя поздравляем! НеЗ(н)аки уверены, что помогут подобрать тебе фильм и ты классно проведёшь время!", "random_id": random.randint (1,1000)})
            vk.method("message.send", {"user_id":user_id, "message": "Выберите кнопку","keyboard": keyboard})
            if body=="Кнопка 1":
                vk.method("message.send", {"peer_id": id, "message": body})
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2021, 19:43
Ответы с готовыми решениями:

Создание кнопок из базы данных SQL3
Хочу реализовать создание кнопок тг бота из базы данных, вот запрос на пучение данных: В таблице всего 2 строки: def regions(self): ...

Создание кнопок в рантайме по клику мыши. Как прекратить создание?
Здравствуйте форумчане. Столкнулся со следующей проблемой. В поле Edit1 я ввожу число(например 5) и хочу создать такое количество кнопок на...

LinearLayout, не получается программное создание создание кнопок
Ребят, рисую на LinearLayout. Почему получается программно создать только одну кнопку? Как сделать так, что бы --- сколько я бы нажал на...

2
17 / 1 / 0
Регистрация: 10.12.2018
Сообщений: 85
05.04.2021, 11:14  [ТС]
Кнопки теперь работают, эта ошибка исправлена, а вот как обратиться по имени, подскажите пожалуйста!
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
05.04.2021, 11:20
Belena123321, ну логично что у объекта есть не только from_id, но и атрибут связанный с именем, например first_name и last_name?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2021, 11:20
Помогаю со студенческими работами здесь

Создание кнопок
Здравствуйте. Недавно начал изучать Флеш. Возникли проблемы: 1) Ставлю баттон взяв его из компонентов, преобразовываю в символ, задав...

Создание кнопок
Может кто знает как можно в Html создать кнопку просмотра страницы? Например человек заполняет анкету,а потом при помощи данной кнопки...

Создание кнопок
Я пишу обычный калькулятор в ткинтере, по туториалам в интернете, там предлагают вот такую реализацию заполнения окна кнопками r = 1 ...

Создание кнопок
Создать текст и 4 кнопки (красный синий зеленый и желтый) При нажатии на каждую кнопку текст должен менять цвет

Создание кнопок
У меня в программе выпадает число рандомно от 1 до 10. Как мне автоматически создавать кнопки, количество кнопок равное рандомному числу,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru