BetterDiscordApp-v2/js/bdapi.js

83 lines
2.0 KiB
JavaScript

/* BetterDiscordApp API for Plugins
* Version: 1.0
* Author: Jiiks | http://jiiks.net
* Date: 11/12/2015
* Last Update: 11/12/2015
* https://github.com/Jiiks/BetterDiscordApp
*
* Plugin Template: https://gist.github.com/Jiiks/71edd5af0beafcd08956
*/
function BdApi() {}
//Joins a server
//code = server invite code
BdApi.joinServer = function(code) {
opublicServers.joinServer(code);
};
//Inject CSS to document head
//id = id of element
//css = custom css
BdApi.injectCSS = function(id, css) {
$("head").append('<style id="'+id+'"></style>')
$("#" + id).html(css);
};
//Clear css/remove any element
//id = id of element
BdApi.clearCSS = function(id) {
$("#"+id).remove();
};
//Get another plugin
//name = name of plugin
BdApi.getPlugin = function(name) {
if(bdplugins.hasOwnProperty(name)) {
return bdplugins[name]["plugin"];
}
return null;
};
//Get ipc for reason
BdApi.getIpc = function() {
return betterDiscordIPC;
};
//Get BetterDiscord Core
BdApi.getCore = function() {
return mainCore;
};
//Attempts to get user id by username
//Name = username
//Since Discord hides users if there's too many, this will often fail
BdApi.getUserIdByName = function(name) {
var users = $(".member-username");
for(var i = 0 ; i < users.length ; i++) {
var user = $(users[i]);
if(user.text() == name) {
var avatarUrl = user.closest(".member").find(".avatar-small").css("background-image");
return avatarUrl.match(/\d+/);
}
}
return null;
};
//Attempts to get username by id
//ID = user id
//Since Discord hides users if there's too many, this will often fail
var gg;
BdApi.getUserNameById = function(id) {
var users = $(".avatar-small");
for(var i = 0 ; i < users.length ; i++) {
var user = $(users[i]);
var url = user.css("background-image");
if(id == url.match(/\d+/)) {
return user.parent().find(".member-username").text();
}
}
return null;
};