Coder Social home page Coder Social logo

just-some-bots / musicbot Goto Github PK

View Code? Open in Web Editor NEW
3.1K 188.0 2.3K 184.59 MB

:musical_note: The original MusicBot for Discord (formerly SexualRhinoceros/MusicBot)

Home Page: https://just-some-bots.github.io/MusicBot/

License: MIT License

Python 93.74% Batchfile 0.57% Shell 5.48% Dockerfile 0.22%
discord python musicbot hacktoberfest

musicbot's Introduction

MusicBot

GitHub stars GitHub forks Python version Discord

MusicBot is the original Discord music bot written for Python 3.8+, using the pycord library. It plays requested songs from YouTube and other services into a Discord server (or multiple servers). If the queue is empty, MusicBot will play a list of existing songs that is configurable. The bot features a permission system, allowing owners to restrict commands to certain people. MusicBot is capable of streaming live media into a voice channel (experimental).

Main

Setup

Setting up the MusicBot is relatively painless - just follow one of the guides. After that, configure the bot to ensure its connection to Discord.

The main configuration file is config/options.ini, but it is not included by default. Simply make a copy of example_options.ini and rename it to options.ini. See example_options.ini for more information about configurations.

Commands

There are many commands that can be used with the bot. Most notably, the play <url> command (preceded by your command prefix), which will download, process, and play a song from YouTube or a similar site. A full list of commands is available here.

Further reading

musicbot's People

Contributors

aleanaa avatar amit177 avatar arnenaessens avatar autumnclove avatar babyboysnow avatar cclauss avatar ciffelia avatar daservian avatar destinyofyeet avatar drobson03 avatar fjking171 avatar imayhaveborkedit avatar imthepeach avatar jayktaylor avatar jcodeerd avatar jhgg avatar lilchancep avatar malta895 avatar mattbsg avatar mrwurste avatar nicholashoo avatar oneoeigh avatar popzi avatar reduxgelum avatar ropc avatar sarisia avatar srhinos avatar theerapakg avatar tom83615 avatar vondassendorf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

musicbot's Issues

Auto-delete commands and output

I'm not sure if this exists or not, but I would like if the bot has the permission to remove people's messages, it should.

FOR EXAMPLE:

before suggestion:

User A: !!help
Bot: [Commands here].
some time later
Bot removes message

with suggestion

User A: !!help
Bot: [Commands here].
Some time later
Bot removes both messages

Would clear up chat a lot :P

Playing locally hosted songs

is there a way to play songs located on your machine, rather than specifying a URL by specifying an absolute path through root?

Errors shouldn't be sent to Discord

Slightly separate from the other issue about logging, but error messages shouldn't be visible in discord chat. Mention that an error has occurred, but not the stacktrace.

Planned features

See: https://gist.github.com/imayhaveborkedit/bcfd424bb22471da5556


List of things we're going to add eventually.

  • Environment sanity checks for basic issues (required packages, libs, etc)
    • Python 3.5+
    • Python module dependencies
    • libopus and ffmpeg
  • Command usage log
    • Basic command logging
    • Timestamps (logger)
  • Joining the owner's voice channel the first time when the bot starts up (AutoSummon)
  • Static playlists, and controls for it
    • Controls would be jump, restart, loop, shuffle a la random.choice(), etc
  • Resuming from a playlist after the bot gets turned off
    • Even further, resuming from about where the song left off
  • First time setup assistance
    • Check if default config is there, manage, prompt user for information, etc
  • Stingers that play between songs
    • Probably implemented as a special playlist that just reads from a folder of soundclips and picks one
  • Support for command permissions
  • Writing out a default config file when someone breaks it or via command
  • Queuing multiple songs with one command
  • Update check
    • May use tags on github or check version file
  • Freezing into an windows executable so users don't need to install python/git
    • Will require heavy testing
  • Soundboard related functionality
    • This would be a sort of side module, with additional commands and some sort of database of tags/soundclips.
  • Add option to specify download folder
  • Output/error levels a la logging
    • i.e. Warnings can usually be ignored, errors are bad, etc
  • Settings to ignore/limit to channels
  • Creating a whitelist for what can be played (for limiting to youtube/soundcloud, etc...)
  • Cleanup command for clearing command/response/error messages
  • Autopausing the song when no one is in the channel

I'll try to keep this list updated as I have/find/receive ideas.

!search command to search YouTube

A command that was really appreciated when I was using Mumble and the Mumble-DJ bot was the ability to directly search a youtube song by typing "!search songname".

This was using the simple Youtube API and turned out to be really useful.
It would be great to implement this in this bot. #

Bot stops working after a while

When the bot is on for a long time it just start to be glitch and not play anything and any commands do not work properly at that point. If you could add a restart function for so it will reboot without having to close the bot

Python 3.5+ is required. This version is 3.4.3+

I started a completely clean Ubuntu install and tried to install the bot, after editing the config and trying to launch the bot i get the following:

root@SymphonyLinux:/MusicBot-develop# python3 run.py
Python 3.5+ is required. This version is 3.4.3+
Attempting to locate python 3.5...
Traceback (most recent call last):
File "run.py", line 58, in main
subprocess.check_output('py -3.5 -c "exit()"')
File "/usr/lib/python3.4/subprocess.py", line 607, in check_output
with Popen(_popenargs, stdout=PIPE, *_kwargs) as process:
File "/usr/lib/python3.4/subprocess.py", line 859, in init
restore_signals, start_new_session)
File "/usr/lib/python3.4/subprocess.py", line 1459, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'py -3.5 -c "exit()"'
Press any key to continue . . .python3 run.py
root@SymphonyLinux:
/MusicBot-develop#

I tried to redo the Python 3.5 install but it says it is already installed.

[request] Discord Audio settings in config

Will you add an option do edit all video settings like volume and background noise etc. so we don't need to log in and edit this by hand after every !summon command?

Can't start

Did everything in the guide, and I get this:

root@default:/MusicBot-develop# python3 run.py
Python 3.5+ is required. This version is 3.4.3+
Attempting to locate python 3.5...
Python 3 found. Launching bot...
Killed
root@default:
/MusicBot-develop# sh: 1: b/usr/bin/python3.5\n: not found

Operation not permitted

Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.5/dist-packages/discord/voice_client.py", line 87, in run
self.player(data)
File "/usr/local/lib/python3.5/dist-packages/discord/voice_client.py", line 572, in play_audio
sent = self.socket.sendto(packet, (self.endpoint_ip, self.voice_port))
PermissionError: [Errno 1] Operation not permitted

I get this error when the bot tries to play music in the vc.

Blacklist, permissions and song limits

Hey, we at Lirik's Discord love your bot. Few things I wanted to ask if could be added:

Blacklist - We get a lot of trolls coming in and trolling with troll songs etc
Commands - I'd like to ask, if it would be possible to not let people use certain commands like volume, since it changed for everyone and again is a part of trolling
Song Limit - Perhaps time limit, but also an amount limit. We had a guy queue 120 songs.

Thanks again for the bot, it's great!

Only accept commands from people in the channel

It would make sense for the bot to ignore commands from people that aren't in the same channel as itself.
To stop people trolling those listening to the music. (or at least make it harder)

More playlist control

What about a way to more directly control songs in the playlist? Ie,

!removesong [#] | [videoName] | [queuedBy]
!skiptosong [#] | [videoName] | [queuedBy](Queued By would go directly to the first song queued by that user)
!cancelsong [#] | [videoName](Allows a user to cancel a song that they queued up %28different from !removesong, since it would only work on songs queued by the user running the command%29)

[request]: Manually rename commands

I've seen a few people suggest command name changes, why not just have people do it themselves?
Like an option in config:
Add a song to queue (default: play)=song
Something like this for every command :)
Hope it isnt too much work!

[request] Autoplaylist starts after !summon

It would be nice to start the Autoplaylist automatically after using the !summon command. At the moment it only starts after we type !summon and !play something.

PS. I want the AutoSummon to be off

AutoPlaylist queuing songs before queue clear

Tested this with Borked before, same issue is reproducible on Numpty.

Have autoplaylist enabled, queue a few songs, when reduced to the last song in queue, and then queue another song it will play an autoplaylist song in between them.

Ideally autoplaylist should be working to where queue is completely clear and finished before playing from there.

Consider merging constants.py into config.py

An entire file just for one (eventually a few) constants seems unnecessary. Logically the values could easily reside in the config.py module, in a Default class. They could even just be top level attributes like they currently are in the constants.py file. Names are tentative.

# Current
from .constants import DEFAULT_VOLUME
volume = DEFAULT_VOLUME
# Example 1
from musicbot.config import Default
volume = Default.VOLUME
# Example 2
from musicbot.config import DEFAULT_VOLUME
volume = DEFAULT_VOLUME

Loading some playlists generates error

So, I found this bot, and started using it, and I love it, but some people I use it with have a shitty taste in music and are too lazy to create a new playlist that works, so my problem is such. When they load one of their playlists, eventually the bot runs into this error:
(TypeError: 'NoneType' object is not subscriptable)
And Traceback as follows
bot.py, line 397 in handle_play
entry_list, position = await player.playlist.import_from(song_url, channel=channel, author=author)
playlist.py, line 74, in import_from
items['webpade_url'],

So I played with one of the broken playlists, and it's fine when I recreate it and play it with the bot. I assume that it is some kind of URL error due to YouTube removing shit, but I really have no idea.
I have tweaked the bot a little to add some commands and responses but nothing that should effect Importing and the like. But then again I am a massive scrub and know nothing of how this bot works.

V2.0 Feature: Automatic (backup) playlist

The old bot has a file of youtube links that is played when nothing is in the user queue. This is mostly likely going to be implemented as a special sort of Playlist object, the same sort of thing as user created playlists. The exact implementation isn't quite hammered out yet, but it could be something like...

  • Option 1: Continuous Queue
    An option in the config telling the bot to play a random song when the user queue runs dry. When a new song is queued, the bot can either:
    • Skip the autoplaylist song and go to the song the user added, or

    • Keep playing the song, and switch to playing the song the user added after the current song finishes. (probably this one)

      If this is the case, the logic would probably flow like this:

      1. Check user queue
      2. If user queue has a song:
        • Play that song
      3. Else
        • Pick a random song from the autoplaylist and play that
      4. Repeat
  • Option 2: Playlist Mode
    The auto playlist will be off by default. To play the autoplaylist, the user will use a command to start playing songs from it. To return to playing the user queue, they use a command to turn playing the autoplaylist off.

Traceback, bot crashed after a skip and a pause/resume.

Console log:

[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!play https://soundcloud.com/lo
urescentreams/sets/big-bang-made-album)
Processed 7 songs in 34.46 seconds at 4.92s/song, +3.7/song from expected (8.4s)

[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!play https://soundcloud.com/k2
nblog22/ikon-rhythm-ta)
[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!shuffle)
[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!skip)
Traceback (most recent call last):
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 760, in o
n_message
    response = await handler(**handler_kwargs)
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 571, in h
andle_skip
    player.current_entry.title,
AttributeError: 'NoneType' object has no attribute 'title'
[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!pause)
[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!resume)
Traceback (most recent call last):
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 760, in o
n_message
    response = await handler(**handler_kwargs)
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 510, in h
andle_resume
    player.resume()
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\player.py", line 85, in
 resume
    raise ValueError('Cannot resume playback from state %s' % self.state)
ValueError: Cannot resume playback from state PAUSED
[Command] 114144075736678404/Ĵ�ΠЖΞ�Ʃψ£ (!clear)
ERROR: unable to download video data: The read operation timed out
Future exception was never retrieved
future: <Future finished exception=FileNotFoundError(2, 'The system cannot find
the file specified')>
Traceback (most recent call last):
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\playlist.py", line 203,
 in _download
    os.rename(result['id'], self.filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '2082
77230' -> 'C:\\Users\\Keith\\Desktop\\MusicBot-develop\\audio_cache\\208277230-b
ang-bang-bang-big-bang-made-series-a.mp3'
Failed to get entry.
Traceback (most recent call last):
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\player.py", line 136, i
n _play
    entry = await self.playlist.get_next_entry()
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\playlist.py", line 127,
 in get_next_entry
    return await entry.get_ready_future()
  File "S:\Python35-32\lib\asyncio\futures.py", line 358, in __iter__
    yield self  # This tells Task to wait for completion.
  File "S:\Python35-32\lib\asyncio\tasks.py", line 290, in _wakeup
    future.result()
  File "S:\Python35-32\lib\asyncio\futures.py", line 274, in result
    raise self._exception
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\playlist.py", line 203,
 in _download
    os.rename(result['id'], self.filename)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '2082
77230' -> 'C:\\Users\\Keith\\Desktop\\MusicBot-develop\\audio_cache\\208277230-b
ang-bang-bang-big-bang-made-series-a.mp3'
Task exception was never retrieved
future: <Task finished coro=<MusicPlayer._play() done, defined at C:\Users\Keith
\Desktop\MusicBot-develop\musicbot\player.py:126> exception=ValueError('Cannot r
esume playback from state PAUSED',)>
Traceback (most recent call last):
  File "S:\Python35-32\lib\asyncio\tasks.py", line 239, in _step
    result = coro.send(None)
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\player.py", line 131, i
n _play
    return self.resume()
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\player.py", line 85, in
 resume
    raise ValueError('Cannot resume playback from state %s' % self.state)
ValueError: Cannot resume playback from state PAUSED
[Command] 118801995296407552/Welsh (!queue)
[Command] 118801995296407552/Welsh (!play https://www.youtube.com/watch?v=ETfiUY
ij5UE)
Traceback (most recent call last):
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 433, in h
andle_play
    time_until = await player.playlist.estimate_time_until(position, player)
  File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\playlist.py", line 144,
 in estimate_time_until
    estimated_time += player.current_entry.duration - player.progress
AttributeError: 'NoneType' object has no attribute 'duration'
[Command] 118801995296407552/Welsh (!queue)

Chat log in Discord:

!play https://soundcloud.com/lourescentreams/sets/big-bang-made-album
SoundCloud
Big Bang- MADE Album
Listen to Big Bang- MADE Album by FlourescentDreams #np on #SoundCloud

!play https://soundcloud.com/k2nblog22/ikon-rhythm-ta
SoundCloud
iKON - 리듬 타 (RHYTHM TA)
[Album] #iKON - WELCOME BACK DEBUT HALF ALBUM ►Download: http://k2nblog.com/ikon-welcome-back-debut-half-album/ Buy Album: http://bit.ly/ikon-welcome-back iKON - WELCOME BACK Release Date: 20

JinxedBot - Today at 4:58 PM
@ĴÏΠЖΞÐƩψ£ - your song Big Bang - Loser is now playing in Music!(edited)
ĴÏΠЖΞÐƩψ£ - Today at 5:12 PM
!shuffle
!skip
JinxedBot - Today at 5:14 PM
Traceback (most recent call last):
File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 760, in on_message
response = await handler(**handler_kwargs)
File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 571, in handle_skip
player.current_entry.title,
AttributeError: 'NoneType' object has no attribute 'title'
ĴÏΠЖΞÐƩψ£ - Today at 5:14 PM
!pause
!resume
JinxedBot - Today at 5:14 PM
Traceback (most recent call last):
File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 760, in on_message
response = await handler(**handler_kwargs)
File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\bot.py", line 510, in handle_resume
player.resume()
File "C:\Users\Keith\Desktop\MusicBot-develop\musicbot\player.py", line 85, in resume
raise ValueError('Cannot resume playback from state %s' % self.state)
ValueError: Cannot resume playback from state PAUSED
ĴÏΠЖΞÐƩψ£ - Today at 5:14 PM
....
!clear
hogs -.-

Auto play error when video not available in your country

When the bot is playing through the backup list of music when the queue is empty, If the video it tries to play is not available in my country it can't play it and it stops playing music untill its restarted or someone adds something new to the queue.
would be nice to have an exception for when the video is not available in your country for it to skip it and play the next song

Unable to type in the cmd when the bot opens?

So the bot starts up successfully using the runbot.bat.

However when the cmd opens saying:

Connected!

Username: MusicBot
ID: 135374938088538112
--Server List--
[My Server]

I am unable to type in the cmd.

Also another issue I have, is that I can see the bot as 'online' in discord, however i cannot move it to my voice channel.

Thanks

[bug] AutoPlaylist doesn't work after skipping

I added a few music in the queue then skipped them. When the last one has been skipped, the bot doesnt switch to the autoplaylist and just don't do anything until i added a song that I already added to the queue and played.

At this point the bot told me that it is unable to queue up the song, and started to play the autolist.

here's a schematic view:

!summon
!play https://youtu.be/qs1bG6BIYlo <= SONG A
the bot starts to play music
!play https://www.youtube.com/watch?v=v2AC41dglnM <= SONG B
!skip
!skip
The bot doesn't play anything.
!play https://www.youtube.com/watch?v=v2AC41dglnM <= SONG B
the bot says it can't queue up this song, autoplaylist starts now playing.

Some Suggestions :)

  1. It would be great if there was some way to remove songs from the queue, maybe '!remove 4' for example would remove song #4 in the queue, just an idea, but I know it is something my group has wanted.

  2. A way to view the blacklist/whitelist through a command would be nice too. For example, '!blacklist view' could work.

  3. A way to change the text channel that the bot posts song names into would be cool too. It may already be a thing but I'm not sure to how if it is. Not being plagued by songnames in the general chat and instead posting in a DJ chat would be good if you wanted to mute the notifications for it specifically.

We've only been using it for one night so far, but it's very nice so far :) One last question is if, when this is updated, how do I update the bot? Is there an update checker built in or do I need to reinstall? Thanks ahead of time

  • Green

Soundcloud sets crash the bot.

When you add a Soundcloud set it is queued as 1 song and when is it's turn the bot stop working and doesn't accept any more song requests you need to restart the bot, it says the following error:

Unable to queue up song at to be played.

Sets are supported by youtube-dl.

If I am the only one experiencing this problem, please close this issue.

Full logging option

Can we get a option to enable the bot to post the full log output? There are weird bugs (like some songs not playing) that would be easier to fix and send upstream if the bot logging would output everything when set. (possibly as a config option.)

Add max length

A way to add the maximum length of a video, in seconds. To prevent users from entering 6 hour-10 hour things.

hardlimit: Allow leniancy undisclosed to this amount.
softlimit: The limit displayed to users in chat.

Blackuplist

I am using the review branch of this bot but the backuplist does not seem to work when the queue is empty.
has this feature been added?

help command

People are lazy and don't like to look up commands. I'd recommend having the bot pm the user who did !help in order to avoid spam of commands in whatever channel the bot is in.

Spotify

Wouldn't it be possible to add spotify functionality into this bot?
I think you might have to have a premium account though.
Am I right or completeely off base?

V2.0 Feature: Permissions

Currently any user can use any command, and this is obviously sub optimal for any setting other than a group of friends. Denying users access to certain commands is obviously necessary for more public settings. This issue is twofold: the implementation of the internal permissions system, and how the user access it. Other variations are still a possibility.

  • Option 1: Internalize Everything
    • Using this method means that commands will be assigned permission groups in the config, and users will be managed with commands, adding and removing permissions though chat.
    • Alternatively, commands will be marked as needing permission, and users will be permitted to use them via some sort of !permit user style of command.
    • For both variations, these settings will be saved to a file in the musicbot folder.
  • Option 2: Assigning Server Groups
    • Access to certain commands will be permitted through the process of assigning a user a user-defined server group, matching something set in the config. For example:
      • A user would set several commands they want limited to the group DJ, and only users with the group DJ would be able to use those commands.
    • Alternatively, commands would have a predefined identifier, and server groups containing the identifier along with an arbitrary prefix to designate the group is the command group. For example:
      • The skip command would have an identifier of s
      • The volume command would have an identifier of v
      • The command prefix would be botperms-
      • Any user with the group botperms-s would have access to the skip command
      • Any user with the group botperms-v would have access to the volume command
      • Users with the group botperms-sv would have access to both commands
      • This idea was based on the regex flag system. (?iLmsux)

Local static playlists

It would be nice not to have to set up a queue and be able to just play the auto playlist, or even other cached playlists. I checked the commands and I didn't see a way to do this. This would be a great addition, as it would be a lot easier on the network intensive side. Also gets rid of the annoying having to look up stuff in order to just try to get to my autoplaylist.

Issue With Ubuntu 14.04... Install guide

mkdir /MusicBot-develop
git clone https://github.com/SexualRhinoceros/MusicBot.git /MusicBot-develop
cd MusicBot-develop

This tells the computer (on ubuntu 14.04) to create the directory /MusicBot-develop INSTEAD of /root/MusicBot-develop
Seems all good right? But now you're telling them to cd to /root/MusicBot-develop but it doesn't exist, they need to go to /MusicBot-develop

Just a minor issue but confusing for noobs like me :)

Change configs while running

Commands to set config values while the bot is running, as well as to reload the backup list and main config/permissions.

Using avconv

This is terrible but I'm putting this here anyways.

To use avconv instead of ffmpeg:

  1. In ~L126 of player.py, add use_avconv=True to the create_ffmpeg_player call
  2. From http://builds.libav.org/windows/release-lgpl/, download whichever release you need
  3. Extract the following files (or all of them):
    • avconv.exe
    • avplay.exe
    • avprobe.exe
    • avcodec-56.dll
    • avdevice-55.dll
    • avfilter-5.dll
    • avformat-56.dll
    • avresample-2.dll
    • avutil-54.dll
    • libogg-0.dll
    • libopus-0.dll
    • libvo-aacenc-0.dll
    • libvorbis-0.dll
    • libvorbisenc-2.dll
    • swscale-3.dll
    • zlib1.dll

Creating a lib folder, moving the files into that, and adding that to path in python may be a cleaner way to do it, but I don't even know if that works yet.

[Develop] No longer removes messages?

I'm trying out the develop branch of this bot, and it seems it won't delete any messages anymore. Is it a bug or WAI?

Also, what things should appear when you have the now_playing_mentions off?

And lastly, the bot doesn't seem to play songs previously added after it's played all the songs requested. Bug or WAI?

I really like how this new bot is going. It's simple and efficient. I really like it. Keep up the good work!

Cygwin Python 3.5

I'm attempting to run the bot in Cygwin with the latest version (3.4.3) of Python3, but the bot doesn't run with Python3.4 and asks for Python3.5.
Is there a way to force it to use Python3.4?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.