teamspeak.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import logging
  2. import requests
  3. from command_system import RollbotResponse, RollbotFailure, RollbotPlugin
  4. from config import get_config, 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