386 lines
16 KiB
JavaScript
386 lines
16 KiB
JavaScript
|
var config = {};
|
|||
|
|
|||
|
config.defaulttext = {
|
|||
|
need_wait : `Бот уже работает, подождите окончание выполнения предыдущей команды`,
|
|||
|
need_admin : `Команда недоступна для данного аккаунта`,
|
|||
|
need_auth : {
|
|||
|
answer : `Необходима авторизация`,
|
|||
|
buttons : ['auth']
|
|||
|
},
|
|||
|
unknown : `Список доступных команд доступен по команде /help
|
|||
|
Либо откройте меню по команде /menu`,
|
|||
|
playlist_created : `Плейлист создан, добавляю в него треки...`,
|
|||
|
playlist_done : `Плейлист успешно создан.
|
|||
|
Плейлист можно найти по <b><a href="https://open.spotify.com/playlist/&{playlist_id}">ссылке</a></b>`,
|
|||
|
playlist_save : `Сохранить плейлист себе`,
|
|||
|
playlist_create : {
|
|||
|
playlist_name : `Избранные треки`,
|
|||
|
playlist_description : `Избранные треки пользователя &{name}. Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
playlist_name_not_russian : `Избранные зарубежные треки`,
|
|||
|
playlist_description_not_russian : `Зарубежные треки пользователя &{name}. Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
playlist_name_dance : `Избранные танцевальные треки`,
|
|||
|
playlist_description_dance : `Танцевальные треки пользователя &{name}. Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
playlist_name_not_explicit : `Избранные треки без мата`,
|
|||
|
playlist_description_not_explicit : `Нематерные треки пользователя &{name}. Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
playlist_created : `Получаю данные профиля, ищу сохраненные песни...`,
|
|||
|
process_started : `Необходимо добавить &{total} треков`,
|
|||
|
playlist_get : `Получаю данные плейлиста...`,
|
|||
|
//in_process : `Осталось примерно &{offset} треков из &{total}`,
|
|||
|
in_process : `Получено &{offset} треков из &{total}`,
|
|||
|
empty_playlist : `У вас отсуствуют треки в медиатеке`
|
|||
|
},
|
|||
|
playlist_vk_create : {
|
|||
|
playlist_name : `Аудиозаписи &{first_name} &{last_name}`,
|
|||
|
playlist_vk_get : `Получаем аудиозаписи из вк`,
|
|||
|
vk_in_process : `Получено &{done} треков`,
|
|||
|
vk_search_in_process : `Найдено &{done} треков из &{all} (не найдено &{errors})`,
|
|||
|
vk_text_while_add_in_process: `Плейлист в вк создан, начинаю добавлять туда песни...`,
|
|||
|
vk_add_in_process : `В плейлист добавлено &{done} треков`,
|
|||
|
playlist_just_created : `Аудиозаписи из вк получены. Происходит обработка...`,
|
|||
|
playlist_in_process : `Аудиозаписи из вк получены. Начат поиск треков в Spotify...`,
|
|||
|
playlist_full_created : `Плейлист создан`,
|
|||
|
playlist_created : `Плейлист создан, поиск треков...`,
|
|||
|
playlist_description_profile : `Музыка пользователя из социальной сети vk. Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
playlist_description_playlist : `Автор плейлиста: &{first_name} &{last_name} | Плейлист создан с помощью @MySpotifyConnectBot`,
|
|||
|
in_process : `Найдено &{done} треков из &{total}, не найдено &{errors}`,
|
|||
|
wrong_id : `Неправильный id профиля`,
|
|||
|
wrong_profile_url : `Неправильная ссылка на профиль`,
|
|||
|
rule : `Для использования команды необходимо прислать ссылку на профиль vk, из которого необходимо брать музыку\n
|
|||
|
Например: /vk_to_playlist vk.com/durov
|
|||
|
Или: /vk_to_playlist https://vk.com/durov`,
|
|||
|
wrong_playlist_url : `Неправильная ссылка на плейлист`,
|
|||
|
wrong_playlist_private : `Проверьте настройки приватности и ссылку на плейлист.
|
|||
|
Музыка должна быть доступна всем, если плейлист не ваш, а настройки приватности не позволяют его видеть всем, то добавьте его в свою музыку и скопируйте ссылку на плейлист в вашей музыке`,
|
|||
|
playlist_rule : `Для использования команды необходимо прислать ссылку на плейлист vk, из которого необходимо брать музыку\n
|
|||
|
Например: /vk_get_playlist vk.com/music?z=audio_playlist-147845620_6
|
|||
|
Или: /vk_get_playlist https://vk.com/audios0?&z=audio_playlist-147845620_6`
|
|||
|
},
|
|||
|
menu_main : `📝➖➖➖📍<b>Меню</b>📍➖➖➖📝
|
|||
|
Выберите нужный пункт меню`,
|
|||
|
buttons_main_menu : ['profile_menu','create_playlist','vk_menu','settings','help'],
|
|||
|
menu_profile : `📝➖➖➖📍<b>Профиль</b>📍➖➖➖📝
|
|||
|
Выберите нужный пункт меню`,
|
|||
|
buttons_profile_menu : ['profile','player_menu','main_menu'],
|
|||
|
menu_vk : `📝➖➖➖📍<b>Импорт из VK</b>📍➖➖➖📝
|
|||
|
Выберите нужный пункт меню`,
|
|||
|
buttons_vk_menu : ['import_vk_profile','import_vk_playlist','main_menu'],
|
|||
|
menu_playlists : `📝➖➖➖📍<b>Создать плейлист</b>📍➖➖➖📝
|
|||
|
Выберите какие песни будут в плейлисте`,
|
|||
|
buttons_playlists_menu : ['create_playlist_from_liked','create_dance_playlist_from_liked','create_not_russian_playlist_from_liked','main_menu'],
|
|||
|
menu_settings : `📝➖➖➖📍<b>Настройки</b>📍➖➖➖📝
|
|||
|
Для переключения настроек, нажмите на нужный пункт`,
|
|||
|
buttons_settings_menu : ['filter_explicit','filter_popular','logout','main_menu'],
|
|||
|
menu_player : `📝➖➖➖📍<b>Сейчас играет</b>📍➖➖➖📝
|
|||
|
|
|||
|
🎵<b>&{track_name}</b>`,
|
|||
|
buttons_player_menu : ['remote_control','download_track','profile_menu','player_menu'],
|
|||
|
}
|
|||
|
|
|||
|
config.commands = new Map([
|
|||
|
[`/start`, {
|
|||
|
need_auth : false,
|
|||
|
answer : `Вас приветствует бот для работы с аккаунтом Spotify\nЧтобы посмотреть доступные команды введите /help`,
|
|||
|
another_after_login : true,
|
|||
|
answer_after_login : `Рад видеть вас снова.\nЧтобы посмотреть доступные команды введите /help`,
|
|||
|
buttons : ['auth'],
|
|||
|
buttons_after_login : []
|
|||
|
}],
|
|||
|
[`/help`, {
|
|||
|
need_auth : false,
|
|||
|
answer : `<b>Список доступных команд:</b>`,
|
|||
|
have_description : false,
|
|||
|
description : `Список доступных команд`,
|
|||
|
buttons : [],
|
|||
|
buttons_after_login : ['main_menu'],
|
|||
|
function_name : "help"
|
|||
|
}],
|
|||
|
[`/login`, {
|
|||
|
need_auth : false,
|
|||
|
need_admin : false,
|
|||
|
answer :
|
|||
|
`Для авторизации откройте <b><a href="&{url}">ссылку</a></b> и следуйте указаниям.
|
|||
|
Нажмите на кнопку выйти для того, чтобы выйти из аккаунта Spotify в веб браузере`,
|
|||
|
have_description : true,
|
|||
|
description : `Авторизация`,
|
|||
|
another_after_login : true,
|
|||
|
answer_after_login : `Вы уже авторизованы. Если вы хотите выйти, введите /logout`,
|
|||
|
buttons : ['auth','logout'],
|
|||
|
buttons_after_login : ['main_menu'],
|
|||
|
function_name : "login"
|
|||
|
}],
|
|||
|
[`/menu`, {
|
|||
|
need_auth : true,
|
|||
|
have_description : true,
|
|||
|
description : `Меню бота`,
|
|||
|
answer : `📝➖➖➖📍<b>Меню</b>📍➖➖➖📝
|
|||
|
Выберите нужный пункт меню`,
|
|||
|
buttons : ['profile_menu','create_playlist','vk_menu','settings','help']
|
|||
|
}],
|
|||
|
[`/info`, {
|
|||
|
need_auth : true,
|
|||
|
answer :
|
|||
|
`<b>Имя пользователя:</b> &{name}
|
|||
|
<b>Email:</b> &{email}
|
|||
|
<b>Подписчиков:</b> &{followers}
|
|||
|
<b>Всего треков:</b> &{total}`,
|
|||
|
have_description : true,
|
|||
|
description : `Информация о профиле`,
|
|||
|
buttons : ['top_tracks','top_artists'],
|
|||
|
function_name : "info_about_user"
|
|||
|
}],
|
|||
|
[`/tracks`, {
|
|||
|
need_auth : true,
|
|||
|
answer : `<b>💬Список избранных треков:</b>`,
|
|||
|
have_description : false,
|
|||
|
description : `Последние 20 добавленных треков`,
|
|||
|
buttons : [],
|
|||
|
function_name : "user_tracks"
|
|||
|
}],
|
|||
|
[`/top_tracks`, {
|
|||
|
need_auth : true,
|
|||
|
answer : `<b>💬Топ треков пользователя:</b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Топ треков пользователя`,
|
|||
|
buttons : ['top_artists'],
|
|||
|
function_name : "top_tracks"
|
|||
|
}],
|
|||
|
[`/top_artists`, {
|
|||
|
need_auth : true,
|
|||
|
answer : `<b>💬Топ исполнителей пользователя:</b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Топ треков исполнителей`,
|
|||
|
buttons : ['top_tracks'],
|
|||
|
function_name : "top_artists"
|
|||
|
}],
|
|||
|
[`/remote_control`, {
|
|||
|
need_auth : true,
|
|||
|
answer : `📝➖➖➖📍<b>Сейчас играет</b>📍➖➖➖📝
|
|||
|
|
|||
|
🎵 <b><code>&{track_name}</code></b>`,
|
|||
|
have_description : false,
|
|||
|
description : `Управление текущим воспроизведением`,
|
|||
|
buttons : ['remote_control','download_track'],
|
|||
|
function_name : "remote_control"
|
|||
|
}],
|
|||
|
[`/save_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
answer : `Плейлист успешно создан.
|
|||
|
Плейлист можно найти у себя в музыке и по <b><a href="https://open.spotify.com/playlist/&{playlist_id}">ссылке</a></b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из избранных треков`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_playlist_from_liked"
|
|||
|
}],
|
|||
|
[`/save_english_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из избранных зарубежных треков`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_english_playlist_from_liked"
|
|||
|
}],
|
|||
|
[`/save_dance_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из избранных танцевальных треков`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_dance_playlist_from_liked"
|
|||
|
}],
|
|||
|
/* [`/save_not_explicit_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из избранных нематерных треков`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_not_explicit_playlist_from_liked"
|
|||
|
}],*/
|
|||
|
[`/vk_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
answer : `Плейлист успешно создан.
|
|||
|
Плейлист можно найти у себя в музыке и по <b><a href="https://open.spotify.com/playlist/&{playlist_id}">ссылке</a></b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из треков профиля вк. При вызове напишите ссылку на профиль vk через пробел от команды`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_playlist_from_vk"
|
|||
|
}],
|
|||
|
[`/vk_get_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
answer : `Плейлист успешно создан.
|
|||
|
Плейлист можно найти у себя в музыке и по <b><a href="https://open.spotify.com/playlist/&{playlist_id}">ссылке</a></b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Импортировать плейлист вк. При вызове напишите ссылку на плейлист vk через пробел от команды`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_playlist_from_vk_playlist"
|
|||
|
}],
|
|||
|
[`/download`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
have_description : true,
|
|||
|
description : `Скачать трек по названию/исполнителю. При вызове напишите слова для поиска песни через пробел от команды`,
|
|||
|
answer : `Трек не найден`,
|
|||
|
buttons : [],
|
|||
|
function_name : "download_track"
|
|||
|
}],
|
|||
|
[`/logout`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
answer : `Вы успешно вышли из аккаунта`,
|
|||
|
have_description : true,
|
|||
|
description : `Выйти из аккаунта`,
|
|||
|
buttons : ['auth'],
|
|||
|
function_name : "logout"
|
|||
|
}],
|
|||
|
]);
|
|||
|
|
|||
|
config.admin_commands = new Map([
|
|||
|
[`/yandex_login`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : true,
|
|||
|
have_description : true,
|
|||
|
description : `yandex login`,
|
|||
|
buttons : [],
|
|||
|
function_name : "yandex_login"
|
|||
|
}],
|
|||
|
[`/yandex_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : true,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из треков профиля Yandex в Spotify`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_playlist_from_yandex"
|
|||
|
}],
|
|||
|
[`/list_of_users`, {
|
|||
|
using_spotifyApi : true,
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `<b>Список пользователей(&{count}):</b>`,
|
|||
|
have_description : true,
|
|||
|
description : `Список пользователей`,
|
|||
|
show_after_login : true,
|
|||
|
buttons : [],
|
|||
|
function_name : "show_list_of_users"
|
|||
|
}],
|
|||
|
[`/update_all_liked`, {
|
|||
|
using_spotifyApi : true,
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `Запущен процесс...`,
|
|||
|
have_description : true,
|
|||
|
description : `Обновить все плейлисты с избранными треками`,
|
|||
|
show_after_login : true,
|
|||
|
buttons : [],
|
|||
|
function_name : "update_all_liked"
|
|||
|
}],
|
|||
|
[`/test`, {
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `test`,
|
|||
|
have_description : true,
|
|||
|
description : `test`,
|
|||
|
show_after_login : false,
|
|||
|
buttons : []
|
|||
|
}],
|
|||
|
[`/query`, {
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `query answer\n`,
|
|||
|
have_description : false,
|
|||
|
buttons : [],
|
|||
|
function_name : "query"
|
|||
|
}],
|
|||
|
[`/login_server`, {
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `Ссылки на все `,
|
|||
|
have_description : false,
|
|||
|
buttons : []
|
|||
|
}],
|
|||
|
[`/get_info`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : true,
|
|||
|
answer : `get_info`,
|
|||
|
have_description : true,
|
|||
|
description : `get_info`,
|
|||
|
buttons : [],
|
|||
|
function_name : "get_info"
|
|||
|
}],
|
|||
|
[`/server_login`, {
|
|||
|
need_auth : false,
|
|||
|
need_admin : true,
|
|||
|
answer : `<a href='&{url}'>Авторизация сервера</a>\n`,
|
|||
|
have_description : false,
|
|||
|
buttons : [],
|
|||
|
function_name : "server_login"
|
|||
|
}],
|
|||
|
[`/spotify_to_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
have_description : true,
|
|||
|
description : `Создать плейлист из треков профиля Spotify в Vk`,
|
|||
|
buttons : [],
|
|||
|
function_name : "create_playlist_in_vk"
|
|||
|
}],
|
|||
|
[`/like_playlist`, {
|
|||
|
need_auth : true,
|
|||
|
need_admin : false,
|
|||
|
have_description : true,
|
|||
|
description : `Лайкнуть каждую песню плейлиста`,
|
|||
|
buttons : [],
|
|||
|
function_name : "like_playlist"
|
|||
|
}],
|
|||
|
]);
|
|||
|
|
|||
|
config.options = {
|
|||
|
user_options : [
|
|||
|
{
|
|||
|
clientId: '',
|
|||
|
clientSecret: '',
|
|||
|
redirectUri: ''
|
|||
|
}
|
|||
|
],
|
|||
|
|
|||
|
server_options: [
|
|||
|
{
|
|||
|
clientId: '',
|
|||
|
clientSecret: '',
|
|||
|
redirectUri: '',
|
|||
|
refreshToken: ''
|
|||
|
},
|
|||
|
{
|
|||
|
clientId: '',
|
|||
|
clientSecret: '',
|
|||
|
redirectUri: '',
|
|||
|
refreshToken: ''
|
|||
|
},
|
|||
|
{
|
|||
|
clientId: '',
|
|||
|
clientSecret: '',
|
|||
|
redirectUri: '',
|
|||
|
refreshToken: ''
|
|||
|
}
|
|||
|
]
|
|||
|
};
|
|||
|
|
|||
|
config.scopes = [
|
|||
|
`ugc-image-upload`,
|
|||
|
`user-read-playback-state`,
|
|||
|
`user-modify-playback-state`,
|
|||
|
`user-read-currently-playing`,
|
|||
|
`streaming`,
|
|||
|
`app-remote-control`,
|
|||
|
`user-read-email`,
|
|||
|
`user-read-private`,
|
|||
|
`playlist-read-collaborative`,
|
|||
|
`playlist-modify-public`,
|
|||
|
`playlist-read-private`,
|
|||
|
`playlist-modify-private`,
|
|||
|
`user-library-modify`,
|
|||
|
`user-library-read`,
|
|||
|
`user-top-read`,
|
|||
|
`user-read-playback-position`,
|
|||
|
`user-read-recently-played`,
|
|||
|
`user-follow-read`,
|
|||
|
`user-follow-modify`
|
|||
|
];
|
|||
|
|
|||
|
module.exports = config;
|