public JoinChannelResult JoinChannel(Plugins.IMessage message) { var voicech = (message.Original.Author as SocketGuildUser).VoiceChannel; lock (state_lock_bject) { // LOCK STATE if (this.state.TextChannelIds.Count > 0 || this.state.VoiceChannelId != 0) { return(new JoinChannelResult() { State = JoinChannelState.AlreadyJoined }); } if (voicech == null) { return(new JoinChannelResult() { State = JoinChannelState.WhereYouAre }); } var t = this.voice.Connect(voicech); this.state.TextChannelIds.Add(message.Original.Channel.Id); this.state.VoiceChannelId = voicech.Id; this.state.Joined = true; return(new JoinChannelResult() { State = JoinChannelState.Succeed, VoiceChannelName = voicech.Name }); } }
public LeaveChannelResult LeaveChannel(Plugins.IMessage message) { lock (state_lock_object) { // LOCK STATE var t = this.voice.Disconnect(); var ret = this.state.Joined ? LeaveChannelResult.Succeed : LeaveChannelResult.NotJoined; this.state.Leave(); return(ret); } }
public LeaveChannelResult LeaveChannel(Plugins.IMessage message) { lock (state_lock_bject) { // LOCK STATE var t = this.voice.Disconnect(); var ret = this.state.Joined ? LeaveChannelResult.Succeed : LeaveChannelResult.NotJoined; this.state.TextChannelIds = new List <ulong>(); this.state.VoiceChannelId = 0; this.state.Joined = false; return(ret); } }
public RemoveChannelResult RemoveChannel(Plugins.IMessage message) { lock (state_lock_object) { // LOCK STATE if (!this.state.Joined) { return(RemoveChannelResult.NotJoined); } if (this.state.RemoveTextChannel(message.Original.Channel)) { return(RemoveChannelResult.Succeed); } return(RemoveChannelResult.AlreadyRemoved); } }
public AddChannelResult AddChannel(Plugins.IMessage message) { lock (state_lock_bject) { // LOCK STATE if (!this.state.Joined) { return(AddChannelResult.NotJoined); } if (!this.state.TextChannelIds.Contains(message.Original.Channel.Id)) { this.state.TextChannelIds.Add(message.Original.Channel.Id); return(AddChannelResult.Succeed); } return(AddChannelResult.AlreadyAdded); } }
public JoinChannelResult JoinChannel(Plugins.IMessage message) { var gu = message.Original.Author as SocketGuildUser; var gc = (message.Original.Channel as SocketGuildChannel); if (gu == null || gc == null) { return(new JoinChannelResult() { State = JoinChannelState.WhereYouAre }); } var voicech = gu.VoiceChannel; lock (state_lock_object) { // LOCK STATE if (this.state.Joined) { return(new JoinChannelResult() { State = JoinChannelState.AlreadyJoined }); } if (voicech == null) { return(new JoinChannelResult() { State = JoinChannelState.WhereYouAre }); } var t = this.voice.Connect(voicech); this.state.Join(message.Original.Channel, voicech, gc.Guild, this.discord.CurrentUser.Id); return(new JoinChannelResult() { State = JoinChannelState.Succeed, VoiceChannelName = voicech.Name }); } }