Rewritten from JS to C# with completely redone Music part!
Not affiliated with Crypton Future Media. This bot features an adaptation of Hatsune Miku, © Crypton Future Media, Inc. 2007, licensed under a CC BY-NC: https://creativecommons.org/licenses/by-nc/3.0/.
- If you want something to talk to NND, look at NicoNicoNii
- For MeekMoe api stuff use MeekMoe.Images
- For anything else feel free to visit our support server https://discord.gg/YPPA2Pu.
If you have good C# knowledge and want to help, feel free to contact us on Discord.
If you want to support the bot and/or fix bugs or add documentation, feel free to fork this and then submit a pull request with changes!
You need to init the submodules to get the nnd project:
git submodule init
git submodule sync
git submodule update
- python3
- python3-pip
- nndownload
- youtube-dl
- ffmpeg
#!/bin/bash
echo "Installing Python"
apt install python3 python3-pip -y
echo "Done"
echo "Installing nnddownloader"
pip3 install nndownload
echo "Done"
Download lavalink v3.5-rc4
This configuration is a bit different.
- We use an youtube account to avoid age-restrictions
- Additionally an spotify developer application is needed
server:
port: 2333
address: 0.0.0.0
lavalink:
server:
password: "YOU_SHALL_NOT_PASS"
sources:
youtube: true
bandcamp: true
soundcloud: true
twitch: true
vimeo: true
http: true
local: false
bufferDurationMs: 400
frameBufferDurationMs: 5000
trackStuckThresholdMs: 10000
youtubePlaylistLoadLimit: 6
playerUpdateInterval: 5
youtubeSearchEnabled: true
soundcloudSearchEnabled: true
gc-warnings: true
youtubeConfig:
email: "[email protected]" # Email of Google account
password: "abcdefg" # App password for Google account
plugins:
- dependency: "com.github.Topis-Lavalink-Plugins:Topis-Source-Managers-Plugin:v2.0.7"
repository: "https://jitpack.io"
- dependency: "me.rohank05:lavalink-filter-plugin:0.0.1"
repository: "https://jitpack.io"
plugins:
topissourcemanagers:
providers:
- "ytsearch:\"%ISRC%\""
- "ytsearch:%QUERY%"
- "scsearch:%QUERY%"
sources:
spotify: true
applemusic: true
spotify:
clientId: "SPOTIFY_CLIENT_ID"
clientSecret: "SPOTIFY_CLIENT_SECRET"
countryCode: "DE"
applemusic:
countryCode: "DE"
metrics:
prometheus:
enabled: false
endpoint: /metrics
sentry:
dsn: ""
environment: ""
logging:
file:
max-history: 30
max-size: 1GB
path: ./logs/
level:
root: INFO
lavalink: INFO
- DisCatSharp as Discord bot library
- AngleSharp for various HTML parsing things
- FluentFTP for saving the NND stuff
- Google Youtube API for fancy "now playing" command
- Kitsu to get Anime and Manga info
- Newtonsoft Json to handle the response of various APIs
- Mime to handle all commands that include files with varying file formats
- Npgsql to connect to the PostgreSQL DB for playlists and other persistent data
- Weeb.net to get stuff from the Weeb.sh API
- AlbumArtExtraction to get album art from MP3's
- nndownload to get niconico videos!
- NicoNicoNii to get parse niconico video informations!
Original JS bot made by davidcralph