bot can't post mod command
authorGeorgios Atheridis <atheridis@tutamail.com>
Wed, 6 Apr 2022 17:03:03 +0000 (20:03 +0300)
committerGeorgios Atheridis <atheridis@tutamail.com>
Wed, 6 Apr 2022 17:03:03 +0000 (20:03 +0300)
skgyorugo/README.md
skgyorugo/auto_messages/latege.py
skgyorugo/commands/spam.py
skgyorugo/database_manager.py
skgyorugo/tools/smart_privmsg.py
skgyorugo/variable_manager/parser.py

index cf5045ac5488ab18291a8cbf70b615e3ec09a658..4996df4ba3cd3d5b7b3e00b7f717ac43f2e96278 100644 (file)
@@ -20,6 +20,7 @@
 - [ ] replied variable {reply.nick} {reply.message} {reply.message.0}
 - [ ] sub sellout bot
 - [ ] schedule
+- [ ] which LoL account are you playing on? (maybe add rank)
 
 ## Basic Commands
 - [x] int
index b56a29dbc3e6cb21e9a1bde0889e41c70c428dbf..ee6d53e056981758afc56d2deb7885dfd54ccdab 100644 (file)
@@ -23,7 +23,7 @@ def main(bot: Bot, message: Message):
     elif latege_amount > 0:
         msg = f"{message.channel} is Latege by {latege_amount} seconds again Madge"
     elif latege_amount == 0:
-        msg = f"Amazing!!! {message.channel} is EXACTLY on time today ihaspeHappy"
+        msg = f"Amazing!!! {message.channel} is EXACTLY on time today POGGERS"
     else:
         msg = f"UNBELIEVABLE!!!!! {message.channel} is EARLY by {-latege_amount} seconds!!!!\
         This has NEVER happened before POGGERS"
index 7bbc5c71a78e27237a7922cbab9e9a8ec0e76abe..6830140412fcfb9570427668a47bfedc40e9cc77 100644 (file)
@@ -1,4 +1,5 @@
 from aptbot.bot import Message, Commands, Bot
+import tools.smart_privmsg
 
 PERMISSION = 99
 PREFIX = '?'
@@ -6,7 +7,7 @@ DESCRIPTION = ""
 USER_COOLDOWN = 30
 GLOBAL_COOLDOWN = 15
 
-MAX_LENGTH = 469
+MAX_LENGTH = 450
 
 
 def main(bot: Bot, message: Message):
@@ -14,4 +15,4 @@ def main(bot: Bot, message: Message):
     new_msg = ""
     while len(new_msg) + len(msg) < MAX_LENGTH:
         new_msg += msg + " "
-    bot.send_privmsg(message.channel, new_msg)
+    tools.smart_privmsg.send_safe(bot, message.channel, new_msg)
index c291775d3742510beb6aedd0a3151002a738714d..ff3a7194f8a1d2fbc5961f6c05af9eff8556a971 100644 (file)
@@ -32,7 +32,7 @@ def create_variables_db():
             CREATE TABLE methods (
                 name TEXT NOT NULL,
                 type TEXT NOT NULL,
-                input TEXT NOT NULL,
+                input TEXT,
                 PRIMARY KEY (name, type)
             )
             """
index e625c12013c36234285156ecfdb87478dd5bde8b..1ddcc97fd5694eaa8cc8d5191c0e097fd54386b7 100644 (file)
@@ -1,6 +1,7 @@
 from aptbot.bot import Bot, Message, Commands
+from typing import Union
 
-MAX_LENGTH = 469
+MAX_LENGTH = 480
 
 
 def _split_message(message: str) -> list[str]:
@@ -16,7 +17,18 @@ def _split_message(message: str) -> list[str]:
     return word_list
 
 
-def send(bot: Bot, message_data: Message, message: str, to_remove: int = 1):
+def send_safe(bot: Bot, channel: str, messages: Union[str, list]):
+    if isinstance(messages, list):
+        for i in range(len(messages)):
+            if messages[i].startswith('/') or messages[i].startswith('!'):
+                messages[i] = messages[i][1:]
+    else:
+        if messages.startswith('/') or messages.startswith('!'):
+            messages = messages[1:]
+    bot.send_privmsg(channel, messages)
+
+
+def send(bot: Bot, message_data: Message, message: str, to_remove: int = 1, safe_send: bool = True):
     # for msg in _split_message(' '.join(message_data.value.split(' ')[1:])):
     #     message = message.replace("{message}", msg)
     #     message = message.replace("{nick}", message_data.nick)
@@ -27,4 +39,7 @@ def send(bot: Bot, message_data: Message, message: str, to_remove: int = 1):
     message = message.replace("{channel}", message_data.channel)
 
     messages = _split_message(message)
-    bot.send_privmsg(message_data.channel, messages)
+    if safe_send:
+        send_safe(bot, message_data.channel, messages)
+    else:
+        bot.send_privmsg(message_data.channel, messages)
index 26bacc73a4f7f97f50ff29e79f63804aa6bd2b8a..9bf30444b6c589dfbd5c356dd2fa4de0349898ed 100644 (file)
@@ -7,7 +7,7 @@ PATH = os.path.join(PATH, "..")
 
 
 class Expression:
-    def __init__(self, name: str, list_id: str, method: str, value: str):
+    def __init__(self, name: str, list_id: int, method: str, value: str):
         self.name = name
         self.list_id = list_id
         self.method = method
@@ -24,26 +24,41 @@ class Expression:
                 SELECT
                     *
                 FROM
-                    variables
-                """
+                    list_values
+                INNER JOIN methods USING(type)
+                WHERE
+                    list_values.name = ?
+                    AND list_values.id = ?
+                    AND methods.name = ?
+                """,
+                (
+                    self.name,
+                    self.list_id,
+                    self.method
+                )
             )
+        conn.close()
         pass
 
     def __repr__(self) -> str:
+        print(type(self.list_id))
         return f"Expression('{self.name}', '{self.list_id}', '{self.method}', '{self.value}')"
 
 
 def parse(text: str):
     value = text
-    reg_parse = re.compile(r"^\$(\w+)\[?(\d+)?\]?\.(\w+)\((.+)?\)$")
+    reg_parse = re.compile(r"\$(\w+)\[?(\d+)?\]?\.(\w+)\((.+)?\)")
 
     expressions: list[Expression] = []
-
     while True:
+
         try:
             name, list_id, method, value = reg_parse.findall(value)[0]
+            list_id = int(list_id)
         except IndexError:
             break
+        except ValueError:
+            list_id = None
         expressions.append(Expression(name, list_id, method, value))
     print(expressions)
     if 2:
@@ -55,4 +70,4 @@ if __name__ == "__main__":
     # parse(r"$fib[12].set($fib[11].add($fib[10].value()))")
     # parse(r"$quotes[2].set(Hello, world)")
     # parse(r"")
-    parse(r"$cannon.set(23)")
+    parse(r"wqe$quotes[].set($quotes[1].value(dw) + fw)")