improved tokebot whispers/pm's, mod/admin commands added(reset cooldown,

tokesay/tokeyell/tokewhisper, reloadtoke)
This commit is contained in:
rainbownapkin 2022-07-22 11:35:37 +00:00
parent a048e2094c
commit 46bcb040f2
7 changed files with 252 additions and 22 deletions

View file

@ -512,6 +512,7 @@ Callbacks = {
/* REGION Chat */
usercount: function(count) {
count++;//add one fer tokebot :P
CHANNEL.usercount = count;
var text = count + " connected user";
if(count != 1) {
@ -521,6 +522,11 @@ Callbacks = {
},
chatMsg: function(data) {
if(data.username === "tokebot" && data.meta.addClass === "server-whisper" && USEROPTS.toke_pm){
data.meta = {};
window.Callbacks.pm(data);
return;
}
addChatMessage(data);
},
@ -552,8 +558,6 @@ Callbacks = {
},
clearchat: function(data) {
console.log(data);
if(data.target == null){
$("#messagebuffer").html("");
}else{
@ -573,6 +577,7 @@ Callbacks = {
addUser: function(data) {
CyTube._internal_do_not_use_or_you_will_be_banned.addUserToList(data, true);
console.log(data);
sortUserlist();
},

View file

@ -170,6 +170,7 @@ var USEROPTS = {
sort_rank : getOrDefault("sort_rank", true),
sort_afk : getOrDefault("sort_afk", false),
legacy_emote : getOrDefault("legacy_emote", false),
toke_pm : getOrDefault("toke_pm", false),
yt_source : getOrDefault("yt_source", "vid.puffyan.us"),
show_seconds : getOrDefault("show_seconds", false),
default_quality : getOrDefault("default_quality", "auto"),

View file

@ -341,8 +341,13 @@ fpset.ocall = function(){
processOpts();
}),
),
$("<form>").append(
$("<label>").prop("for","qs-toke-pm").html("Legacy Toke Notification: "),
$("<input>").prop("id","qs-toke-pm").prop("type","checkbox").addClass("qs-form").change(function() {
USEROPTS.toke_pm = $("#qs-toke-pm").prop("checked");
processOpts();
}),
),
])
fpset.loadSettings();
}
@ -364,6 +369,7 @@ fpset.loadSettings = function(){
$("#qs-show-timestamp").prop("checked", USEROPTS.show_timestamps);
$("#qs-timestamp-second").parent().toggle(USEROPTS.show_timestamps);
$("#qs-timestamp-second").prop("checked", USEROPTS.show_seconds);
$("#qs-toke-pm").prop("checked", USEROPTS.toke_pm);
}

View file

@ -244,13 +244,15 @@ function addUserDropdown(entry) {
.appendTo(entry)
.hide();
var istokebot = (name === "tokebot");
$("<strong/>").text(name).appendTo(menu);
$("<br/>").appendTo(menu);
var btngroup = $("<div/>").addClass("btn-group-vertical").appendTo(menu);
/* give/remove leader (moderator+ only) */
if (hasPermission("leaderctl")) {
if (hasPermission("leaderctl") && !istokebot) {
var ldr = $("<button/>").addClass("btn btn-xs btn-default")
.appendTo(btngroup);
if(leader) {
@ -304,7 +306,7 @@ function addUserDropdown(entry) {
});
/* ignore button */
if (name !== CLIENT.name) {
if (name !== CLIENT.name && !istokebot) {
var ignore = $("<button/>").addClass("btn btn-xs btn-default")
.appendTo(btngroup)
.click(function () {
@ -329,7 +331,7 @@ function addUserDropdown(entry) {
}
/* mute buttons */
if (hasPermission("mute")) {
if (hasPermission("mute") && !istokebot) {
var mute = $("<button/>").addClass("btn btn-xs btn-default")
.text("Mute")
.click(function () {
@ -366,7 +368,7 @@ function addUserDropdown(entry) {
}
/* kick button */
if(hasPermission("kick")) {
if(hasPermission("kick") && !istokebot) {
$("<button/>").addClass("btn btn-xs btn-default")
.text("Kick")
.click(function () {
@ -383,7 +385,7 @@ function addUserDropdown(entry) {
}
/* ban buttons */
if(hasPermission("ban")) {
if(hasPermission("ban") && !istokebot) {
$("<button/>").addClass("btn btn-xs btn-default")
.text("Name Ban")
.click(function () {
@ -477,6 +479,30 @@ function calcUserBreakdown() {
function sortUserlist() {
var slice = Array.prototype.slice;
var list = slice.call($("#userlist .userlist_item"));
if(//check if tokebot listing is present
list.filter(function(u,i){
return($(u).children()[1].innerHTML === "tokebot");
}).length <= 0
){//inject tokebot userlist entry
CyTube._internal_do_not_use_or_you_will_be_banned.addUserToList(
{
name: "tokebot",
rank: 3,
profile: {
test: "!TOKE OR DIE!",
image: window.location.origin + "/img/femotes/tokebot.jpg"
},
meta: {
afk: false,
aliases: [],
ip: "127.0.0.1",
muted: false,
smuted: false
}
}
);
var list = slice.call($("#userlist .userlist_item"));//pull list again, make sure tokebot gets sorted
}
list.sort(function (a, b) {
var r1 = $(a).data("rank");
var r2 = $(b).data("rank");
@ -721,6 +747,7 @@ function showUserOptions() {
$("#us-sort-rank").prop("checked", USEROPTS.sort_rank);
$("#us-sort-afk").prop("checked", USEROPTS.sort_afk);
$("#us-legacy-emote").prop("checked", USEROPTS.legacy_emote);
$("#us-toke-pm").prop("checked", USEROPTS.toke_pm);
$("#us-blink-title").val(USEROPTS.blink_title);
$("#us-ping-sound").val(USEROPTS.boop);
$("#us-notifications").val(USEROPTS.notifications);
@ -762,6 +789,7 @@ function saveUserOptions() {
USEROPTS.sort_rank = $("#us-sort-rank").prop("checked");
USEROPTS.sort_afk = $("#us-sort-afk").prop("checked");
USEROPTS.legacy_emote = $("#us-legacy-emote").prop("checked");
USEROPTS.toke_pm = $("#us-toke-pm").prop("checked");
USEROPTS.blink_title = $("#us-blink-title").val();
USEROPTS.boop = $("#us-ping-sound").val();
USEROPTS.notifications = $("#us-notifications").val();