migrate every command

This commit is contained in:
lm
2021-10-30 18:51:35 +02:00
parent ee3e081c3c
commit dfca0593f5
3 changed files with 121 additions and 61 deletions
+95 -7
View File
@@ -4,7 +4,7 @@ TBD
__author__ = "Lukas Mahler"
__version__ = "0.0.0"
__date__ = "24.10.2021"
__date__ = "30.10.2021"
__email__ = "m@hler.eu"
__status__ = "Development"
@@ -22,11 +22,26 @@ import ts3
from src import util
def follow(self, invkr_id, parameter):
def annoy(self, invkr_id, parameter):
"""
"""
if not parameter:
err = "Please use the command like this: .annoy TARGET MESSAGE"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=err)
return
target = parameter[0]
msg = parameter[1]
self.poke(n=10, msg=msg, usr=target)
def follow(self, invkr_id, parameter):
"""
TODO sticky folgen
"""
if not parameter:
err = "Please use the command like this: .follow TARGET"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=err)
@@ -42,6 +57,7 @@ def help(self, invkr_id):
"""
"""
# Find all functions in this submodule
cmds = [f[0] for f in inspect.getmembers(sys.modules[__name__], inspect.isfunction)]
msg = f"\n\nList of commands:\n---------------------\n.{f'{chr(10)}.'.join(cmds)}"
@@ -52,17 +68,22 @@ def info(self, invkr_id):
"""
"""
# TODO implement more then just the runtime
msg = f"\n\nRuntime: {util.getRuntime(self.started)}\n" \
f"Version: {self.version}"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=msg)
def msglist(self, invkr_id, parameter):
def list(self, invkr_id, parameter):
"""
Message the invoker of the function either a list of channels or a list of clients.
Message the invoker of the function either a list of channels, clients, commands or server groups.
"""
if not parameter:
err = "Please use the command like this: .list channel/clients/commands/groups/"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=err)
return
what = parameter[0]
mydict = {}
@@ -82,6 +103,10 @@ def msglist(self, invkr_id, parameter):
mydict = dict(sorted(mydict.items()))
msg = json.dumps(mydict)
elif what == "commands":
help(self, invkr_id)
return
elif what == "groups":
groups = self.bot.servergrouplist()
for group in groups:
@@ -89,7 +114,7 @@ def msglist(self, invkr_id, parameter):
msg = json.dumps(mydict)
else:
msg = None
msg = f"The parameter [{what}] is not supported."
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=msg)
@@ -116,9 +141,23 @@ def mute(self, invkr_id, parameter):
return
def pingall(self, invkr_id, parameter):
"""
"""
if not parameter:
err = "Please use the command like this: .pingall MESSAGE"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=err)
return
msg = parameter[0]
self.poke(msg=msg)
def notifyAdmin(self):
"""
Ping every available admin.
Message every available admin.
"""
clients = self.bot.clientlist()
@@ -134,6 +173,55 @@ def notifyAdmin(self):
time.sleep(1)
def quit(self, invkr_id):
"""
"""
self.stop(invkr_id)
def rename(self, invkr_id, parameter):
"""
Rename the Bot to the given Nickname
"""
if not parameter:
err = "Please use the command like this: .rename NICKNAME"
self.bot.sendtextmessage(targetmode=1, target=invkr_id, msg=err)
return
self.nickname = parameter[0]
self.bot.clientupdate(client_nickname=self.nickname)
def ticker(self, parameter):
"""
Refresh the Crypto Ticker channels,
this is very specific to my use, you can disable this in the config.
"""
if parameter:
symbol = parameter[0].lower()
else:
symbol = "all"
if symbol in ["btc", "bitcoin", "eth", "ethereum", "all"]:
channelname = f"[cspacerC1]BTC: {self.gecko.getSymbol('bitcoin', decimal=0)} | " \
f"ETH: {self.gecko.getSymbol('ethereum', decimal=0)}"
try:
self.editChannelname(200, channelname)
except ts3.query.TS3QueryError:
pass
if symbol in ["dot", "polkadot", "ada", "cardano", "all"]:
channelname = f"[cspacerC2]DOT: {self.gecko.getSymbol('polkadot', decimal=2)} | " \
f"ADA: {self.gecko.getSymbol('cardano', decimal=2)}"
try:
self.editChannelname(201, channelname)
except ts3.query.TS3QueryError:
pass
def unmute(self, invkr_id, parameter):
"""
Remove the mute group to a user.
+2 -1
View File
@@ -13,4 +13,5 @@ mute = "0"
[Misc]
nickname = "myTS3-Bot"
whitelisted = false
whitelisted = false
crypto = false