Перейти к публикации
View in the app

A better way to browse. Learn more.

VimeWorld - Форум

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Бот API VimeWorld VK

Featured Replies

Опубликовано:
  • Автор

апи вайма не показывает точное местоположение модератора, мб он играет в такой же режим как  и я, какой смысл?

Просто предупреждает, что в вашу мини-игру зашёл модер (Мб и следит) и что вы должны быть осторожны в юзанье софта.

Опубликовано:
  • Автор

-NEW-


Получение информации о топе в мини-играх 


UcRQHK2.png


Ссылка: https://yadi.sk/d/5LlxCk0ufTwBbQ


Vtotal: https://www.virustotal.com/#/file/67a229473892e09c1e1c0a32dd9d24678444b5ba705a2d526820d98ee6b66b39/detection


 Исходник(DevelNext): https://yadi.sk/d/0db_BMRr_RxWWg


Плюсы программы:


-Жрёт мало трафика


-Не нужно заходить в браузер


-Любое(почти) количество записей (от 15 до 1000)


Минусы программы:


-Нету дизайна


-Туча говно-кода


-Неудобно располагаются строчки (Легко решить, но мне лень c:)

  • 2 недели спустя...
Опубликовано:
  • Автор

---===NEW===---

Получение информации о игроке в VK

 

До первого запроса:

uNeDGXx.png

 

После 1 запроса:

iCOvmIY.png

YvgirsB.png

Исходник(DEVELNEXT): https://yadi.sk/d/-eY6gegSGfY9yA

Программа: https://yadi.sk/d/fjswBStElbxtYQ

Код самой функции:

function doButtonClickLeft(UXMouseEvent $e = null)
{
VK::longPollConnect(function ($updates) { //Подключаемся с лонгполу
foreach ($updates as $update) {
if($update[6]) {
$peer_id = $update[3];
$body = explode(" ", $update[6]);

if (str::contains($body[0], 'Инфа,')) { //Проверяем будет ли в сообщениях слово 'Инфа,'
$this->edit->text = $body[0]; //Если есть то в edit вбиваем фулл сообщение
$string = $this->edit->text; //в $string заносим данные из edit
$newString = str::replace($string, 'Инфа,', ''); //Заменяем 'Инфа,' для получения ника
$string5 = $newString; //Хз зачем это но есть))
$hh = str::trim($string5); //Попытка убрать пробелы но что-то не удалось ;D
$this->textArea->text = ''; //Очищаем поле для текста
$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh); //Берём информацию о игроке исходя из полученной информации из сообщения
$out = $response->body(); 
if ($out == ''){ //Проверяем сообщение
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Игрок не найден в базе данных']); // Если ник не найден в API то пишется это
} else { if ($out[0]['guild']["name"] == ''){ //Если найден то след.проверка на наличие гильдии, если нет то дальше
$arr = [
'---===Статистика игрока===---', 
'[' . $out[0]["rank"] . '] ' . $out[0]["username"], 
'Номер аккаунта (ID) - ' . $out[0]["id"], 
'Уровень - ' . $out[0]["level"],
'Гильдия отсутствует',
];
$this->textArea->text = Str::join($arr, "\n"); //Заносим информацию в textArea
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea->text]); //Отправляем информацию обратно тому, кто написал
} else { //Если гильдия найдена то дальше
$arr = [
'---===Статистика игрока===---',
'[' . $out[0]["rank"] . '] ' . $out[0]["username"],
'Номер аккаунта (ID) - ' . $out[0]["id"],
'Уровень - ' . $out[0]["level"],
'--Гильдия игрока--',
'Название гильдии - ' . $out[0]['guild']["name"],
'ID гильдии - ' . $out[0]['guild']["id"],
'Уровень гильдии - ' . $out[0]['guild']["level"],
];
$this->textArea->text = Str::join($arr, "\n");  //Заносим информацию в textArea
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea->text]); //Отправляем сообщение с данными обратно тому, кто отправил запрос боту
}
}
}

         }
            }
        });
    }


}

 

Опубликовано:

 

---===NEW===---

Получение информации о игроке в VK

 

До первого запроса:

uNeDGXx.png

 

После 1 запроса:

iCOvmIY.png

YvgirsB.png

Исходник(DEVELNEXT): https://yadi.sk/d/-eY6gegSGfY9yA

Программа: https://yadi.sk/d/fjswBStElbxtYQ

Код самой функции:

function doButtonClickLeft(UXMouseEvent $e = null)

{

VK::longPollConnect(function ($updates) { //Подключаемся с лонгполу

foreach ($updates as $update) {

if($update[6]) {

$peer_id = $update[3];

$body = explode(" ", $update[6]);

 

if (str::contains($body[0], 'Инфа,')) { //Проверяем будет ли в сообщениях слово 'Инфа,'

$this->edit->text = $body[0]; //Если есть то в edit вбиваем фулл сообщение

$string = $this->edit->text; //в $string заносим данные из edit

$newString = str::replace($string, 'Инфа,', ''); //Заменяем 'Инфа,' для получения ника

$string5 = $newString; //Хз зачем это но есть))

$hh = str::trim($string5); //Попытка убрать пробелы но что-то не удалось ;D

$this->textArea->text = ''; //Очищаем поле для текста

$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh); //Берём информацию о игроке исходя из полученной информации из сообщения

$out = $response->body(); 

if ($out == ''){ //Проверяем сообщение

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Игрок не найден в базе данных']); // Если ник не найден в API то пишется это

} else { if ($out[0]['guild']["name"] == ''){ //Если найден то след.проверка на наличие гильдии, если нет то дальше

$arr = [

'---===Статистика игрока===---', 

'[' . $out[0]["rank"] . '] ' . $out[0]["username"], 

'Номер аккаунта (ID) - ' . $out[0]["id"], 

'Уровень - ' . $out[0]["level"],

'Гильдия отсутствует',

];

$this->textArea->text = Str::join($arr, "\n"); //Заносим информацию в textArea

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea->text]); //Отправляем информацию обратно тому, кто написал

} else { //Если гильдия найдена то дальше

$arr = [

'---===Статистика игрока===---',

'[' . $out[0]["rank"] . '] ' . $out[0]["username"],

'Номер аккаунта (ID) - ' . $out[0]["id"],

'Уровень - ' . $out[0]["level"],

'--Гильдия игрока--',

'Название гильдии - ' . $out[0]['guild']["name"],

'ID гильдии - ' . $out[0]['guild']["id"],

'Уровень гильдии - ' . $out[0]['guild']["level"],

];

$this->textArea->text = Str::join($arr, "\n");  //Заносим информацию в textArea

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea->text]); //Отправляем сообщение с данными обратно тому, кто отправил запрос боту

}

}

}

         }
            }
        });
    }

}

 

 

А если я изменил код на свой, как мне сделать что бы сама программа изменилась и при запуске не через DevelNext она была такой же как я её делал?

Опубликовано:
  • Автор

А если я изменил код на свой, как мне сделать что бы сама программа изменилась и при запуске не через DevelNext она была такой же как я её делал?

Ответил в вк)

Опубликовано:
  • Автор

---===Обновление===---

-Добавил 2 функции:

--Информация о гильдии по ID

--Статус игрока (Онлайн/Не онлайн)

-Изменил все команды на вид 'команда*информация' для API

X8gaGqe.pnguADP6aR.png

Ссылка на программу: https://yadi.sk/d/J6Gq_adequi2mw

Ссылка на исходник(DevelNext):https://yadi.sk/d/m6TFoXgxYTEnrg

Код 2-х новых функций:

if (str::contains($body[0], '/guild*')) { //Проверяем слово
$this->edit->text = $body[0];
$string = $this->edit->text;
$hh = str::replace($string, '/guild*', ''); //убираем это слово оставляя другие
$content228 = fs::get('https://api.vime.world/guild/get?id='. $hh); //берём данные с api для проверки
if ($content228 == '{"error":{"error_code":12,"error_msg":"Guild not found"}}'){
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Гильдия в базе данных не найдена']);
} else {
$result = Json::decode(file_get_contents('https://api.vime.world/guild/get?id='. $hh)); //если проверку прошли то берём нормально
$res = $result;
if ($res['tag'] == '') { //ещё одна проверка на тэг)
$this->listView->items->clear();
$perks = $result['perks'];
$this->listView->items->add('Тэг отсутствует. ' . $res['name']);
$this->listView->items->add('Уровень: ' . $res['level']);
$this->listView->items->add('Внесено коинов: ' . $res['totalCoins'])
$this->listView->items->add('Перк(Участники): ' . $perks['MEMBERS']['name'] . '. Уровень: ' . $perks['MEMBERS']['level']);
$this->listView->items->add('Перк(Коины): ' . $perks['COINS']['name'] . '. Уровень: ' . $perks['COINS']['level']);
$this->listView->items->add('Перк(Группы): ' . $perks['PARTY']['name'] . '. Уровень: ' . $perks['PARTY']['level']);
$this->listView->items->add('Перк(Приветственное сообщение): ' . $perks['MOTD']['name'] . '. Уровень: ' . $perks['MOTD']['level']);
$this->listView->items->add('Перк(Тэг): ' . $perks['TAG']['name'] . '. Уровень: ' . $perks['TAG']['level']);
$this->listView->items->add('Перк(Цвет): ' . $perks['COLOR']['name'] . '. Уровень: ' . $perks['COLOR']['level']);
$this->listView->items->add('Перк(Войны): ' . $perks['GUILD_WAR']['name'] . '. Уровень: ' . $perks['GUILD_WAR']['level']);
$this->listView->items->add('Подробнее: https://vimetop.ru/guild/'. $hh);
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->listView->itemsText]); //берём нужную информацию без тэга и отсылаем
} else {
$this->listView->items->clear();
$perks = $result['perks'];
$this->listView->items->add('[' . $res['tag'] . '] ' . $res['name']);
$this->listView->items->add('Уровень: ' . $res['level']);
$this->listView->items->add('Внесено коинов: ' . $res['totalCoins'])
$this->listView->items->add('Перк(Участники): ' . $perks['MEMBERS']['name'] . '. Уровень: ' . $perks['MEMBERS']['level']);
$this->listView->items->add('Перк(Коины): ' . $perks['COINS']['name'] . '. Уровень: ' . $perks['COINS']['level']);
$this->listView->items->add('Перк(Группы): ' . $perks['PARTY']['name'] . '. Уровень: ' . $perks['PARTY']['level']);
$this->listView->items->add('Перк(Приветственное сообщение): ' . $perks['MOTD']['name'] . '. Уровень: ' . $perks['MOTD']['level']);
$this->listView->items->add('Перк(Тэг): ' . $perks['TAG']['name'] . '. Уровень: ' . $perks['TAG']['level']);
$this->listView->items->add('Перк(Цвет): ' . $perks['COLOR']['name'] . '. Уровень: ' . $perks['COLOR']['level']);
$this->listView->items->add('Перк(Войны): ' . $perks['GUILD_WAR']['name'] . '. Уровень: ' . $perks['GUILD_WAR']['level']);
$this->listView->items->add('Подробнее: https://vimetop.ru/guild/'. $hh);
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->listView->itemsText]);//берём нужную информацию с тэгом и отсылаем
}
}
}
if (str::contains($body[0], '/active*')) { //Проверяем сообщение со словом /active*
$this->edit->text = $body[0];
$string = $this->edit->text;
$hh = str::replace($string, '/active*', ''); //убираем это слово и оставляем те, которые после него
$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh); //берём данные с API
$out = $response->body();
$this->textArea3->text = '';
$arr = [
$out[0]['id'], //Берём ID с функции
];
$this->textArea3->text = Str::join($arr, "\n");
$response = $this->httpClient->get("https://api.vime.world/user/session/". $this->textArea3->text); //Вставляем ID в нужный API (Тот нужен был чтобы ID не вводить)
$out = $response->body();
$this->textArea3->text = '';
$arr = [
'[' . $out[0]['rank'] . '] ' . $out[0]['username'],
'ID: ' . $out[0]['id'],
'Уровень: ' . $out[0]['level'],
'Статус: ' . $out[0]['online']['message'], //Берём нужную информацию
];
$this->textArea3->text = Str::join($arr, "\n");
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea3->text]); //Передём
}

 

Не стал делать на последней функции проверку на подлинность ника (Если существует то выдаёт инфу, если нет то нет, просто если не будет - выдаст пустые значение ID:, Уровень:, Статус: =))

UPD функция с проверкой:

if (str::contains($body[0], '/active*')) {
$this->edit->text = $body[0];
$string = $this->edit->text;
$hh = str::replace($string, '/active*', '');
$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh);
$out = $response->body();
$this->textArea3->text = '';
$arr = [
$out[0]['id'],
];
$this->textArea3->text = Str::join($arr, "\n");
if ($this->textArea3->text == ''){
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Такой ник не найден в базе данных']);
} else {
$response = $this->httpClient->get("https://api.vime.world/user/session/". $this->textArea3->text);
$out = $response->body();
$this->textArea3->text = '';
$arr = [
'[' . $out[0]['rank'] . '] ' . $out[0]['username'],
'ID: ' . $out[0]['id'],
'Уровень: ' . $out[0]['level'],
'Статус: ' . $out[0]['online']['message'],
];
$this->textArea3->text = Str::join($arr, "\n");
VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea3->text]);
}
}

 

Изменено пользователем Sergey1337

Опубликовано:

 

---===Обновление===---

-Добавил 2 функции:

--Информация о гильдии по ID

--Статус игрока (Онлайн/Не онлайн)

-Изменил все команды на вид 'команда*информация' для API

X8gaGqe.pnguADP6aR.png

Ссылка на программу: https://yadi.sk/d/J6Gq_adequi2mw

Ссылка на исходник(DevelNext):https://yadi.sk/d/m6TFoXgxYTEnrg

Код 2-х новых функций:

if (str::contains($body[0], '/guild*')) { //Проверяем слово

$this->edit->text = $body[0];

$string = $this->edit->text;

$hh = str::replace($string, '/guild*', ''); //убираем это слово оставляя другие

$content228 = fs::get('https://api.vime.world/guild/get?id='. $hh); //берём данные с api для проверки

if ($content228 == '{"error":{"error_code":12,"error_msg":"Guild not found"}}'){

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Гильдия в базе данных не найдена']);

} else {

$result = Json::decode(file_get_contents('https://api.vime.world/guild/get?id='. $hh)); //если проверку прошли то берём нормально

$res = $result;

if ($res['tag'] == '') { //ещё одна проверка на тэг)

$this->listView->items->clear();

$perks = $result['perks'];

$this->listView->items->add('Тэг отсутствует. ' . $res['name']);

$this->listView->items->add('Уровень: ' . $res['level']);

$this->listView->items->add('Внесено коинов: ' . $res['totalCoins'])

$this->listView->items->add('Перк(Участники): ' . $perks['MEMBERS']['name'] . '. Уровень: ' . $perks['MEMBERS']['level']);

$this->listView->items->add('Перк(Коины): ' . $perks['COINS']['name'] . '. Уровень: ' . $perks['COINS']['level']);

$this->listView->items->add('Перк(Группы): ' . $perks['PARTY']['name'] . '. Уровень: ' . $perks['PARTY']['level']);

$this->listView->items->add('Перк(Приветственное сообщение): ' . $perks['MOTD']['name'] . '. Уровень: ' . $perks['MOTD']['level']);

$this->listView->items->add('Перк(Тэг): ' . $perks['TAG']['name'] . '. Уровень: ' . $perks['TAG']['level']);

$this->listView->items->add('Перк(Цвет): ' . $perks['COLOR']['name'] . '. Уровень: ' . $perks['COLOR']['level']);

$this->listView->items->add('Перк(Войны): ' . $perks['GUILD_WAR']['name'] . '. Уровень: ' . $perks['GUILD_WAR']['level']);

$this->listView->items->add('Подробнее: https://vimetop.ru/guild/'. $hh);

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->listView->itemsText]); //берём нужную информацию без тэга и отсылаем

} else {

$this->listView->items->clear();

$perks = $result['perks'];

$this->listView->items->add('[' . $res['tag'] . '] ' . $res['name']);

$this->listView->items->add('Уровень: ' . $res['level']);

$this->listView->items->add('Внесено коинов: ' . $res['totalCoins'])

$this->listView->items->add('Перк(Участники): ' . $perks['MEMBERS']['name'] . '. Уровень: ' . $perks['MEMBERS']['level']);

$this->listView->items->add('Перк(Коины): ' . $perks['COINS']['name'] . '. Уровень: ' . $perks['COINS']['level']);

$this->listView->items->add('Перк(Группы): ' . $perks['PARTY']['name'] . '. Уровень: ' . $perks['PARTY']['level']);

$this->listView->items->add('Перк(Приветственное сообщение): ' . $perks['MOTD']['name'] . '. Уровень: ' . $perks['MOTD']['level']);

$this->listView->items->add('Перк(Тэг): ' . $perks['TAG']['name'] . '. Уровень: ' . $perks['TAG']['level']);

$this->listView->items->add('Перк(Цвет): ' . $perks['COLOR']['name'] . '. Уровень: ' . $perks['COLOR']['level']);

$this->listView->items->add('Перк(Войны): ' . $perks['GUILD_WAR']['name'] . '. Уровень: ' . $perks['GUILD_WAR']['level']);

$this->listView->items->add('Подробнее: https://vimetop.ru/guild/'. $hh);

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->listView->itemsText]);//берём нужную информацию с тэгом и отсылаем

}

}

}

if (str::contains($body[0], '/active*')) { //Проверяем сообщение со словом /active*

$this->edit->text = $body[0];

$string = $this->edit->text;

$hh = str::replace($string, '/active*', ''); //убираем это слово и оставляем те, которые после него

$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh); //берём данные с API

$out = $response->body();

$this->textArea3->text = '';

$arr = [

$out[0]['id'], //Берём ID с функции

];

$this->textArea3->text = Str::join($arr, "\n");

$response = $this->httpClient->get("https://api.vime.world/user/session/". $this->textArea3->text); //Вставляем ID в нужный API (Тот нужен был чтобы ID не вводить)

$out = $response->body();

$this->textArea3->text = '';

$arr = [

'[' . $out[0]['rank'] . '] ' . $out[0]['username'],

'ID: ' . $out[0]['id'],

'Уровень: ' . $out[0]['level'],

'Статус: ' . $out[0]['online']['message'], //Берём нужную информацию

];

$this->textArea3->text = Str::join($arr, "\n");

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea3->text]); //Передём

}

 

Не стал делать на последней функции проверку на подлинность ника (Если существует то выдаёт инфу, если нет то нет, просто если не будет - выдаст пустые значение ID:, Уровень:, Статус: =))

UPD функция с проверкой:

if (str::contains($body[0], '/active*')) {

$this->edit->text = $body[0];

$string = $this->edit->text;

$hh = str::replace($string, '/active*', '');

$response = $this->httpClient->get("https://api.vime.world/user/name/". $hh);

$out = $response->body();

$this->textArea3->text = '';

$arr = [

$out[0]['id'],

];

$this->textArea3->text = Str::join($arr, "\n");

if ($this->textArea3->text == ''){

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => 'Такой ник не найден в базе данных']);

} else {

$response = $this->httpClient->get("https://api.vime.world/user/session/". $this->textArea3->text);

$out = $response->body();

$this->textArea3->text = '';

$arr = [

'[' . $out[0]['rank'] . '] ' . $out[0]['username'],

'ID: ' . $out[0]['id'],

'Уровень: ' . $out[0]['level'],

'Статус: ' . $out[0]['online']['message'],

];

$this->textArea3->text = Str::join($arr, "\n");

VK::Query('messages.send', ['peer_id' => $peer_id, 'message' => $this->textArea3->text]);

}

}

 

 

А почему вместо "Пробела" -> "*"

Опубликовано:

Она в оффлайне может работать

И типо в чём тут смысл, если она будет работать офлайн как она будет взаимодействовать с api, бред какой-то.

Изменено пользователем QuickSilver

Опубликовано:
  • Автор

---Final(Скорее всего :) )---


Собрал все функции в одну программу


Все команды этой версии (Скорее всего финальной)


"Команды" - показывает команды


"/friends*nick" - показывает друзей игрока


"/ip*ip" - показывает информацию об IP (Просто решил вставить)


"/active*nick" - даёт информацию о онлайне игрока (Онлайн или нет, если онлайн то где находится)


"/guild*id" - даёт информацию о гильдии исходя из её ID


"/nick*nick" - даёт информацию о игроке


"/online" - показывает онлайн на сервере (Как общий так и на всех мини-играх по отдельности)


"/staff" - показывает модераторов онлайн


"/streams" - показывает включенные стримы


<><><><><><><><><><>


Нововведения:


-Добавил возможность узнавать информацию из API с токеном (300 запросов в минуту будет лимит)


В программе должно работать, но это не точно)


<><><><><><><><><><>


Ссылка на исходник(DevelNext): Тык по мне


Ссылка на программу: Тык по мну


==================================


Сразу задаю вопрос, что мне делать в дальнейшем? (Какой софт)

  • 4 месяца спустя...
  • 1 год спустя...

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.