migrate every command
This commit is contained in:
+95
-7
@@ -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
@@ -13,4 +13,5 @@ mute = "0"
|
||||
|
||||
[Misc]
|
||||
nickname = "myTS3-Bot"
|
||||
whitelisted = false
|
||||
whitelisted = false
|
||||
crypto = false
|
||||
Reference in New Issue
Block a user