Skip to content

Instantly share code, notes, and snippets.

@shikhir-arora
Created January 26, 2018 12:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shikhir-arora/b7a34e2caf67a8e31ea5cd4f3e0f6421 to your computer and use it in GitHub Desktop.
Save shikhir-arora/b7a34e2caf67a8e31ea5cd4f3e0f6421 to your computer and use it in GitHub Desktop.
Updater for Nadeko for those using pm2
#!/bin/sh
echo ""
echo "NadekoBot pm2 Update Started. This will stop Nadeko safely in pm2, update it and restart the bot."
sleep 2
if hash git 1>/dev/null 2>&1
then
echo ""
echo "Git Installed."
else
echo ""
echo "Git is not installed. Please install Git."
exit 1
fi
if hash dotnet 1>/dev/null 2>&1
then
echo ""
echo "Dotnet installed."
else
echo ""
echo "Dotnet is not installed. Please install dotnet."
exit 1
fi
root=$(pwd)
tempdir=NadekoInstall_Temp
rm -r "$tempdir" 1>/dev/null 2>&1
mkdir "$tempdir"
cd "$tempdir"
echo ""
echo "Stopping Nadeko, please wait."
sudo pm2 stop Nadeko
sleep .5
echo ""
echo "Downloading NadekoBot, please wait."
git clone -b 1.9 --recursive --depth 1 https://github.com/Kwoth/NadekoBot.git
echo ""
echo "NadekoBot downloaded."
echo ""
echo "Downloading Nadeko dependencies"
cd "$root/$tempdir/NadekoBot"
dotnet restore
echo ""
echo "Download done"
echo ""
echo "Building NadekoBot"
dotnet build --configuration Release
echo ""
echo "Building done. Moving Nadeko"
cd "$root"
if [ ! -d NadekoBot ]
then
mv "$tempdir"/NadekoBot NadekoBot
else
rm -rf NadekoBot_old 1>/dev/null 2>&1
mv -fT NadekoBot NadekoBot_old 1>/dev/null 2>&1
mv "$tempdir"/NadekoBot NadekoBot
cp -f "$root/NadekoBot_old/src/NadekoBot/credentials.json" "$root/NadekoBot/src/NadekoBot/credentials.json" 1>/dev/null 2>&1
echo ""
echo "credentials.json copied to the new version"
cp -RT "$root/NadekoBot_old/src/NadekoBot/bin/" "$root/NadekoBot/src/NadekoBot/bin/" 1>/dev/null 2>&1
cp -RT "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.0/data/NadekoBot.db" 1>/dev/null 2>&1
cp -RT "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.0/data/NadekoBot.db" 1>/dev/null 2>&1
mv -f "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data/NadekoBot_old.db" 1>/dev/null 2>&1
mv -f "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot.db" "$root/NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data/NadekoBot_old.db" 1>/dev/null 2>&1
echo ""
echo "Database copied to the new version"
cp -RT "$root/NadekoBot_old/src/NadekoBot/data/" "$root/NadekoBot/src/NadekoBot/data/" 1>/dev/null 2>&1
echo ""
echo "Other data copied to the new version"
fi
rm -r "$tempdir"
echo ""
echo "Installation Complete."
echo "Starting Nadeko back up, please wait."
echo ""
sleep 1
sudo pm2 start Nadeko
echo ""
echo "Nadeko update complete and startup finished."
exit 0
@shikhir-arora
Copy link
Author

To run this:

cd ~ && wget -N https://gist.githubusercontent.com/shikhir-arora/b7a34e2caf67a8e31ea5cd4f3e0f6421/raw/2a9f9c8e29612164d830de3ca5010e85fa54dea6/nadeko-update-pm2.sh && sudo bash nadeko-update-pm2.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment