digitalstars / simplevk

SimpleVK это PHP библиотека для быстрой разработки ботов для VK | vk api php class bot sdk library client framework longpoll callback streaming auth
https://simplevk.scripthub.ru/
MIT License
88 stars 26 forks source link

Пример карусели с помощью апи #36

Closed leekyrave closed 1 year ago

leekyrave commented 1 year ago

Не могли бы вы предоставить пример юзания карусели с помощью вашего апи? Я пытаюсь разобраться со структурой массива, но не до конца понимаю

s-andrianov commented 1 year ago
<?php
$vk = vk::create(VK_KEY, VERSION)
->setConfirm(ACCESS_KEY);
$vkm = msg::create( $vk );

$btn = $vk->buttonCallback('Кнопка', 'green', [ 'command' => 'btn' ] );
$vkm->carousel()
    ->title( 'Карусель' )
    ->description( 'Описание карусели' )
    ->kbd( [ $btn ] )
    ->attachment( 'photo-123_123' );
$vkm->text( 'Лови карусель' )->send();
digitalstars commented 1 year ago

Вот как пример псевдо-пополнения баланса на каруселях. Также стоит учитывать, что используется svk3 (т.е. ветка testing)

$bot->btn('Пополнить кристаллы', ['💎Пополнить кристалы', 'green'])->func(function () use ($db, $bot, $vk) {
    $vk->initUserID($user_id)->initPeerID($id)->initPayload($payload);
    if(isset($paylod['count'])) {
        $count = $paylod['count'];
        //тут пополнение
    } else {
        $donat_200 = $vk->buttonText('Купить', 'green', ['name' => 'Пополнить кристаллы', 'count' => 200]);
        $donat_450 = $vk->buttonText('Купить', 'green', ['name' => 'Пополнить кристаллы', 'count' => 450]);
        $donat_1000 = $vk->buttonText('Купить', 'green', ['name' => 'Пополнить кристаллы', 'count' => 1000]);
        $carousel = $vk->msg('Выберите количество:')->
        carousel()->kbd([$donat_200])->attachment('-202124457_457239059')->description("Цена: 0р.")->title('200 кристаллов💎')->save()->
        carousel()->kbd([$donat_450])->attachment('-202124457_457239059')->description("Цена: 0р.\nВыгода 12%!")->title('450 кристаллов💎')->save()->
        carousel()->kbd([$donat_1000])->attachment('-202124457_457239059')->description("Цена: 0р.\nВыгода 25%!")->title('1000 кристаллов💎')->save();

        $carousel->send();
    }
});
leekyrave commented 1 year ago

Спасибо, понял, благодарю за ответ.