Подключение приложение "Пончик" к боту вк
Создаю своего бота для vk на Python 3. Есть острая необходимость подключить одно из приложений vk(https://vkdonuts.ru/api) к боту.
import vk_api, json
from vk_api.longpoll import VkLongPoll, VkEventType
vk_session = vk_api.VkApi(token = 'token')
vk = vk_session.get_api()
longpol = VkLongPoll(vk_session)
def get_but(text, color):
return {
"action": {
"type": "text",
"payload": "{\"button\": \"" + "1" + "\"}",
"label": f"{text}"
},
"color": f"{color}"
}
keyboard = {
"one_time" : False,
"buttons" : [
[get_but('баланс', 'secondary')],
[get_but('набор стикеров', 'positive'), get_but('тех. поддержка', 'negative')]
]
}
keyboard = json.dumps(keyboard, ensure_ascii = False).encode('utf-8')
keyboard = str(keyboard.decode('utf-8'))
def sender(id, text):
vk_session.method('messages.send', {'user_id' : id, 'message' : text, 'random_id' : 0, 'keyboard' : keyboard})
def main():
for event in longpol.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
id = event.user_id
msg = event.text.lower()
if msg == 'тех. поддержка':
sender(id, '''
Администратор: https://vk.com/
Разработчик: https://vk.com/''')
if msg == 'баланс':
sender(id, '')
if msg == 'набор стикеров':
sender(id, 'Держи: ')
while True:
main()
Код приложения на php:
class Donuts {
private $group;
private $token;
private $v = 1;
function __construct($group, $token) {
$this -> group = $group;
$this -> token = $token;
}
public function request($method, $params = []) {
if (!isset($params['group'])) $params['group'] = $this -> group;
if (!isset($params['token'])) $params['token'] = $this -> token;
if (!isset($params['v'])) $params['v'] = $this -> v;
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.vkdonuts.ru/' . $method,
CURLOPT_HTTPHEADER => ['Content-type: application/json'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($params)
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
}
Нужно чтобы при запросе "баланс", пользователю выдавало сумму его пожертвований. Пример: https://vk.com/nyasticks Знаю то что должен использоваться Longpoll