teamspeak.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import logging
  2. import requests
  3. from command_system import RollbotResponse, RollbotPlugin
  4. from config import get_secret
  5. TS3_QUERY = get_secret("teamspeak.query")
  6. class teamspeak(RollbotPlugin):
  7. def __init__(self, bot, logger=logging.getLogger(__name__)):
  8. RollbotPlugin.__init__(self, "teamspeak", bot, logger=logger)
  9. def on_command(self, db, message):
  10. nicks = requests.get(TS3_QUERY).json()["users"]
  11. if len(nicks) == 0:
  12. return RollbotResponse(message, txt="No one in teamspeak!")
  13. if len(nicks) == 1:
  14. return RollbotResponse(message, txt="Only "+nicks[0])
  15. return RollbotResponse(message, txt="I see the following people: "+", ".join(nicks))
  16. class speamteek(teamspeak):
  17. def __init__(self, bot, logger=logging.getLogger(__name__)):
  18. RollbotPlugin.__init__(self, "speamteek", bot, logger=logger)
  19. def on_command(self, db, message):
  20. r = super().on_command(db, message)
  21. if r.is_success:
  22. r.txt = r.txt[::-1]
  23. return r
  24. class teamscream(teamspeak):
  25. def __init__(self, bot, logger=logging.getLogger(__name__)):
  26. RollbotPlugin.__init__(self, "teamscream", bot, logger=logger)
  27. def on_command(self, db, message):
  28. r = super().on_command(db, message)
  29. if r.is_success:
  30. r.txt = r.txt.upper()
  31. return r
  32. class ts(teamspeak):
  33. def __init__(self, bot, logger=logging.getLogger(__name__)):
  34. RollbotPlugin.__init__(self, "ts", bot, logger=logger)
  35. def on_command(self, db, message):
  36. r = super().on_command(db, message)
  37. if r.is_success:
  38. shortNicks = requests.get(TS3_QUERY).json()["users"][0]
  39. r.txt = "i c : " + ", ".join(shortNicks)
  40. return r