Akuba icon

cmd_summon

Akuba | PRO | 08/07/16 12:25:35 PM UTC | 0 ⭐ | 272 👁️ | Never ⏰ | []
Python |

2.08 KB

|

None

|

0 👍

/

0 👎

 
    async def cmd_summon(self, channel, author, voice_channel):
        """
        Usage:
            {command_prefix}summon
 
        Call the bot to the summoner's voice channel.
        """
 
        if not author.voice_channel:
            raise exceptions.CommandError('You are not in a voice channel!')
 
        """voice_client = self.the_voice_clients.get(channel.server.id, None)
        if voice_client and voice_client.channel.server == author.voice_channel.server:
            await self.move_voice_client(author.voice_channel)
            return"""
        # can this be exploided? - no
        self.serverVoice = await self.join_voice_channel(author.voice_channel)
        player = self.serverVoice.create_ffmpeg_player('./samples/welcome.wav')
        player.volume = self.config.default_volume
        # Set the default volume or rip ears
        player.start()
        # move to _verify_vc_perms?
        chperms = author.voice_channel.permissions_for(author.voice_channel.server.me)
 
        if not chperms.connect:
            self.safe_print("Cannot join channel \"%s\", no permission." % author.voice_channel.name)
            return Response(
                "```Cannot join channel \"%s\", no permission.```" % author.voice_channel.name,
                delete_after=25
            )
 
        elif not chperms.speak:
            self.safe_print("Will not join channel \"%s\", no permission to speak." % author.voice_channel.name)
            return Response(
                "```Will not join channel \"%s\", no permission to speak.```" % author.voice_channel.name,
                delete_after=25
            )
        
        await asyncio.sleep(4)
        # the intro is a bit longer then 3 seconds
        if self.serverVoice is not None:
            await self.serverVoice.disconnect()
            self.serverVoice = None
        player = await self.get_player(author.voice_channel, create=True)
        if player.is_stopped:
            player.play()
 
        if self.config.auto_playlist:
            await self.on_player_finished_playing(player)

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎