Add init system integration
This commit is contained in:
parent
071f89287a
commit
d1c90cbcd9
@ -144,6 +144,49 @@ async def edit(event):
|
|||||||
rpl += f'{outmsg}\n'
|
rpl += f'{outmsg}\n'
|
||||||
await event.edit(rpl)
|
await event.edit(rpl)
|
||||||
|
|
||||||
|
if msg.startswith('.cv'):
|
||||||
|
# Date multiplier
|
||||||
|
multi = str(msg.split(' ', 2)[1])
|
||||||
|
# Hour and minutes
|
||||||
|
time = str(msg.split(' ', 2)[2])
|
||||||
|
hour = str(time.split(':', 1)[0])
|
||||||
|
mins = str(time.split(':', 1)[1])
|
||||||
|
await event.edit(multi + " " + hour + mins)
|
||||||
|
|
||||||
|
async def schedule(multi, hour, mins, msg):
|
||||||
|
print(multi + hour + mins + msg)
|
||||||
|
|
||||||
|
import datetime as dt
|
||||||
|
# Current time
|
||||||
|
ctime = dt.datetime.now()
|
||||||
|
# Target date
|
||||||
|
tdate = ctime.day + int(multi)
|
||||||
|
tmonth = ctime.month
|
||||||
|
tyear = ctime.year
|
||||||
|
# Target time
|
||||||
|
ttime = dt.datetime(tyear, tdate, tmonth, hour, mins, 00)
|
||||||
|
# Date multiplier in minutes
|
||||||
|
mmins = multi * 60 * 24
|
||||||
|
# Minutes passed now since midnight
|
||||||
|
nmins = ctime.hour * 60 + ctime.minute
|
||||||
|
# Minutes passed at target time since midnight
|
||||||
|
tmins = mmins = ttime.hour * 60 + ttime.minute
|
||||||
|
# Calculate delta between now and target time
|
||||||
|
delta = int(tmins) - int(nmins)
|
||||||
|
await client.send_message(logchat, delta)
|
||||||
|
|
||||||
|
#for i in range(0,multi):
|
||||||
|
await schedule(multi, hour, mins, "test message")
|
||||||
|
|
||||||
|
#for i in range(0,
|
||||||
|
|
||||||
|
#day =
|
||||||
|
#import datetime as dt
|
||||||
|
#ctime = dt.datetime.now()
|
||||||
|
|
||||||
|
#dmins = day * 60 * 24
|
||||||
|
#nmins = ctime.our * 60 + ctime.minute
|
||||||
|
|
||||||
if msg.startswith('.sauce'):
|
if msg.startswith('.sauce'):
|
||||||
rpl = 'Sauce: [ghnou/ubot](https://git.nixmagic.com/ghnou/ubot)'
|
rpl = 'Sauce: [ghnou/ubot](https://git.nixmagic.com/ghnou/ubot)'
|
||||||
await event.edit(rpl)
|
await event.edit(rpl)
|
||||||
@ -159,6 +202,7 @@ async def edit(event):
|
|||||||
rpl += '.sys - Show system information.\n'
|
rpl += '.sys - Show system information.\n'
|
||||||
rpl += '.spam - Spam messages.. yea.\n'
|
rpl += '.spam - Spam messages.. yea.\n'
|
||||||
rpl += '.re - s/foo/bar/\n'
|
rpl += '.re - s/foo/bar/\n'
|
||||||
|
rpl += '.cv - Schedule /cv commands in Konata.\n'
|
||||||
rpl += '.sauce - Get the bot\'s source code.\n'
|
rpl += '.sauce - Get the bot\'s source code.\n'
|
||||||
rpl += '.help - Show this help message.\n'
|
rpl += '.help - Show this help message.\n'
|
||||||
await event.edit(rpl)
|
await event.edit(rpl)
|
45
install
45
install
@ -1,5 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Preliminary sanity checks
|
||||||
|
[ $(id -u) = 0 ] && echo "Please do not run as root." && exit 1
|
||||||
|
[ $0 != ./install ] && echo "Not launched from repository root." && exit 1
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
mkconfig(){
|
mkconfig(){
|
||||||
echo "Please get your credentials from https://my.telegram.org."
|
echo "Please get your credentials from https://my.telegram.org."
|
||||||
@ -19,13 +23,42 @@ mkconfig(){
|
|||||||
echo "logchat = $logchat" >> config.py
|
echo "logchat = $logchat" >> config.py
|
||||||
}
|
}
|
||||||
|
|
||||||
# Preliminary sanity checks
|
addfiles(){
|
||||||
[ $(id -u) = 0 ] && echo "Please do not run as root." && exit 1
|
# Create user account, distro mess awaits here...
|
||||||
[ ! -f ubot.py ] && echo "ubot.py not found, quitting." && exit 1
|
# Debian has both useradd and adduser
|
||||||
[ $0 != ./install ] && echo "Not launched from current directory." && exit 1
|
if [ -e /sbin/useradd ]
|
||||||
|
then
|
||||||
|
sudo useradd -r bot
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# Alpine only has adduser (Busybox)
|
||||||
|
if [ -e /sbin/adduser ]
|
||||||
|
then
|
||||||
|
sudo adduser -S bot
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install executable and config
|
||||||
|
sudo mkdir /etc/ubot
|
||||||
|
sudo install -o root -g bot -m640 config.py /etc/ubot/config.py
|
||||||
|
sudo install -m755 bin/ubot /usr/bin/ubot
|
||||||
|
|
||||||
|
# Install service files on installed inits
|
||||||
|
if [ -e /sbin/openrc ]
|
||||||
|
then
|
||||||
|
sudo install -m755 init/openrc /etc/init.d/ubot
|
||||||
|
sudo ln -s /sbin/openrc /etc/periodic/15min/openrc
|
||||||
|
elif [ -e /lib/systemd/systemd ]
|
||||||
|
then
|
||||||
|
sudo install -m644 init/systemd /etc/systemd/system/ubot.service
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
sudo pip3 install -U telethon
|
||||||
|
# Generate config if not built yet
|
||||||
[ ! -f config.py ] && mkconfig
|
[ ! -f config.py ] && mkconfig
|
||||||
git pull
|
# Install files if config is (now) present
|
||||||
pip3 install -U telethon --user
|
[ -f config.py ] && addfiles
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user