Skip to content

Commit

Permalink
Merge pull request #51 from nullabork/betabot
Browse files Browse the repository at this point in the history
Betabot
  • Loading branch information
wootosmash authored May 7, 2019
2 parents 1ccee42 + cd88e33 commit 4159801
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 21 deletions.
2 changes: 1 addition & 1 deletion bot.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ bot.on('voiceStateUpdate', (oldMember, newMember) => {
return;

// they've changed voice channels
if ( oldMember.voiceChannel && !newMember.voiceChannel ) { // || oldMember.voiceChannel.id != newMember.voiceChannel.id
if ( oldMember.voiceChannel && (!newMember.voiceChannel || !newMember.voiceChannel.joinable)) { // || oldMember.voiceChannel.id != newMember.voiceChannel.id
server.release();
}
else if ( oldMember.voiceChannel && newMember.voiceChannel && oldMember.voiceChannel.id != newMember.voiceChannel.id )
Expand Down
24 changes: 14 additions & 10 deletions src/commands/modules/follow.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,16 @@ function follow(msg) {
server.joinVoiceChannel(member.voiceChannel)
.then(() => {

commands.notify('follow', {member: member, server: server});
msg.il8nResponse('follow.okay');

// unmute them if they're muted
if (server.getMemberSetting(member, 'muted')) {
server.addMemberSetting(member,'muted',false);
msg.il8nResponse('mute.unmuted');
}
});
server.addMemberSetting(member,'toLanguage', 'default');
commands.notify('follow', {member: member, server: server});
msg.il8nResponse('follow.okay');

// unmute them if they're muted
if (server.getMemberSetting(member, 'muted')) {
server.addMemberSetting(member,'muted',false);
msg.il8nResponse('mute.unmuted');
}
});
} else {
msg.il8nResponse('follow.join');
}
Expand Down Expand Up @@ -119,6 +120,7 @@ function sidle(msg) {
}

server.setMaster(newMaster);
server.addMemberSetting(newMaster,'toLanguage', 'default');
msg.il8nResponse('sidle.okay');

if (server.getMemberSetting(newMaster, 'muted')) {
Expand Down Expand Up @@ -169,7 +171,7 @@ function transfer(msg) {
return;
}

if ( !newMaster.joinable) {
if ( !newMaster.voiceChannel.joinable) {
msg.il8nResponse('transfer.channelpermissions');
return;
}
Expand All @@ -185,6 +187,8 @@ function transfer(msg) {
.then(() => {
msg.il8nResponse('transfer.okay', { name : newMaster.displayName });

server.addMemberSetting(newMaster,'toLanguage', 'default');

// unmute them if they're muted
if (server.getMemberSetting(newMaster, 'muted')) {
server.addMemberSetting(newMaster,'muted',false);
Expand Down
3 changes: 2 additions & 1 deletion src/commands/modules/help.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ class Help extends Command {
"Issues" : [
'Documentation: https://nullabork.gitbook.io/talkbot/',
'Join our discord: https://discordapp.com/invite/NxrPp8g',
'Add Talkbot: https://discordapp.com/oauth2/authorize?&client_id=428866923267358721&scope=bot&permissions=0'
'Add Talkbot: https://discordapp.com/oauth2/authorize?&client_id=428866923267358721&scope=bot&permissions=0',
'Support us: https://www.patreon.com/talkbot'
]
};
}
Expand Down
5 changes: 2 additions & 3 deletions src/commands/modules/tolang.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ function toLang(msg) {
var server = msg.server;

if(!msg.args || !msg.args.length){
msg.il8nResponse('mylang.more');
msg.il8nResponse('tolang.more');
return;
}

if(msg.args[0] == 'default'){
if(/default|off|none|unset|0/.test(msg.args[0])){
server.addMemberSetting(msg.message.member, 'toLanguage', 'default');
msg.il8nResponse('general.auto', {key: "tolang"});
return;
Expand All @@ -34,7 +34,6 @@ function toLang(msg) {
var docs = langMap.getLang(msg.args[0]);

if(!docs || !docs.length) {
//what dont know???? why? you should by now...
msg.il8nResponse('mylang.no', { lang: msg.args[0]});
return;
}
Expand Down
2 changes: 1 addition & 1 deletion src/helpers/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class Common {
}
else if ( typeof message == 'object' )
{
message = message.toString();
message = JSON.stringify(message);
}

if (config.logging && config.logging.err) {
Expand Down
3 changes: 2 additions & 1 deletion src/lang.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@
"okay": "OK, now translating to :lang.",
"deny": "Sorry, you're not permitted",
"nope": "Sorry, I dont have a voice for :lang",
"shorthelp": "Translate your text to a different language eg. en, fr, jp, de etc."
"shorthelp": "Translate your text to a different language eg. en, fr, jp, de etc.",
"more" : "You must specify a language code. You can find codes with `:command_charlangs`.\nTo stop translating use `:command_chartolang none`"
},
"en.mygender": {
"okay": "OK, your personal gender is now :gender.",
Expand Down
14 changes: 10 additions & 4 deletions src/models/Server.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,11 +193,15 @@ class Server {
server.stop('voiceClosing'); // stop playing
clearTimeout(server.neglect_timeout);
});
connection.on('error', error => {
server.leaving = false;
server.connecting = false; // this might cause a race condition
server.voiceConnection = null;
Common.error(error);
});
connection.on('disconnect', () => {
var server = this;
server.voiceConnection = null;
server.leaving = false;
server.world.setPresence();
//callback();
});
server.voiceConnection = connection;
Expand Down Expand Up @@ -245,6 +249,8 @@ class Server {
// permit another user to speak
permit(snowflake_id) {
this.resetNeglectTimeout(); // this is redundant, its run from the command as well
var member = this.guild.members.find( member => member.id == snowflake_id);
if ( member ) this.addMemberSetting(member, 'toLanguage', 'default');
this.permitted[snowflake_id] = true;
this.save();
};
Expand Down Expand Up @@ -445,7 +451,7 @@ class Server {
// play the content
server.playing = true;
if ( server.voice_timeout) clearTimeout(server.voice_timeout);
server.voice_timeout = setTimeout(() => server.voiceDispatcher ? server.voiceDispatcher.end('timeout').catch(error => Common.error(error)) : null, 60000);
server.voice_timeout = setTimeout(() => server.voiceDispatcher ? server.voiceDispatcher.end('timeout') : null, 60000);
server.voiceDispatcher = server.voiceConnection
.playOpusStream(readable.pipe(new prism.opus.OggDemuxer()))
.on('end', reason => {
Expand All @@ -458,7 +464,7 @@ class Server {
var nextAudio = server.audioQueue.shift();
if ( nextAudio ) nextAudio();
})
.on('error', error => Common.error(error));
.on('error', error => Common.error(error))
server.voiceDispatcher.passes = 3;
}

Expand Down

0 comments on commit 4159801

Please sign in to comment.