WIP Docker compose setup
This commit is contained in:
		
							
								
								
									
										12
									
								
								.sqlx/query-0402e16b1ec89a96d893d43f6b40500ccbde3c619116a702c87954df49898e23.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.sqlx/query-0402e16b1ec89a96d893d43f6b40500ccbde3c619116a702c87954df49898e23.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "DELETE FROM patreon_link WHERE user_id = ?",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "0402e16b1ec89a96d893d43f6b40500ccbde3c619116a702c87954df49898e23"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                        UPDATE reminders SET `status` = 'deleted' WHERE FIND_IN_SET(id, ?)\n                        ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": []
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "09f6269e5df3acc01e8e2660532b5fcab21c0cd4fd126b580176d24578932d7e"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										24
									
								
								.sqlx/query-19bc60a2ff67ce6e169985a76405af51d7d16d4d7b84d1c239de5af79da93268.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.sqlx/query-19bc60a2ff67ce6e169985a76405af51d7d16d4d7b84d1c239de5af79da93268.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "\n                SELECT IFNULL(timezone, 'UTC') AS timezone\n                FROM users\n                WHERE timezone IS NOT NULL\n                GROUP BY timezone\n                ORDER BY COUNT(timezone) DESC\n                LIMIT 21\n                ",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "ordinal": 0,
 | 
				
			||||||
 | 
					        "name": "timezone",
 | 
				
			||||||
 | 
					        "type_info": {
 | 
				
			||||||
 | 
					          "type": "VarString",
 | 
				
			||||||
 | 
					          "flags": "NOT_NULL",
 | 
				
			||||||
 | 
					          "max_size": 128
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": [
 | 
				
			||||||
 | 
					      false
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "19bc60a2ff67ce6e169985a76405af51d7d16d4d7b84d1c239de5af79da93268"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								.sqlx/query-2d780695fe98347ea4ab2cb745462f0a9c55cf913c71d4d822b91958f4f8a729.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.sqlx/query-2d780695fe98347ea4ab2cb745462f0a9c55cf913c71d4d822b91958f4f8a729.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "\n                DELETE FROM reminders\n                WHERE `utc_time` < NOW() - INTERVAL ? DAY\n                    AND status != 'pending'\n                ORDER BY `utc_time`\n                LIMIT 1000\n                ",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "2d780695fe98347ea4ab2cb745462f0a9c55cf913c71d4d822b91958f4f8a729"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                UPDATE reminders\n                INNER JOIN `channels`\n                    ON `channels`.id = reminders.channel_id\n                SET reminders.`utc_time` = reminders.`utc_time` + ?\n                WHERE channels.`channel` = ?\n                ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 2
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": []
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "2db489e076c93a5a2baf2dd48eb3278d68296aea93097a642e2bbb5112d51fe8"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,134 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                        SELECT\n                            reminders.id,\n                            reminders.uid,\n                            channels.channel,\n                            reminders.utc_time,\n                            reminders.interval_seconds,\n                            reminders.interval_days,\n                            reminders.interval_months,\n                            reminders.expires,\n                            reminders.enabled,\n                            reminders.content,\n                            reminders.embed_description,\n                            reminders.set_by\n                        FROM\n                            reminders\n                        LEFT JOIN\n                            channels\n                        ON\n                            channels.id = reminders.channel_id\n                        WHERE\n                            `status` = 'pending' AND\n                            FIND_IN_SET(channels.channel, ?)\n                        ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 0,
 | 
					 | 
				
			||||||
        "name": "id",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 1,
 | 
					 | 
				
			||||||
        "name": "uid",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 256
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 2,
 | 
					 | 
				
			||||||
        "name": "channel",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "LongLong",
 | 
					 | 
				
			||||||
          "flags": "UNIQUE_KEY | UNSIGNED | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 20
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 3,
 | 
					 | 
				
			||||||
        "name": "utc_time",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 4,
 | 
					 | 
				
			||||||
        "name": "interval_seconds",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 5,
 | 
					 | 
				
			||||||
        "name": "interval_days",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 6,
 | 
					 | 
				
			||||||
        "name": "interval_months",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 7,
 | 
					 | 
				
			||||||
        "name": "expires",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "BINARY",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 8,
 | 
					 | 
				
			||||||
        "name": "enabled",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 9,
 | 
					 | 
				
			||||||
        "name": "content",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 10,
 | 
					 | 
				
			||||||
        "name": "embed_description",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 11,
 | 
					 | 
				
			||||||
        "name": "set_by",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "LongLong",
 | 
					 | 
				
			||||||
          "flags": "MULTIPLE_KEY | UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 20
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": [
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "3695f95cea95c075b2b3becdf1b5d75bf1ccace3b9a176086faa4ad76c0a0fbd"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                UPDATE reminders\n                INNER JOIN `channels`\n                    ON `channels`.id = reminders.channel_id\n                SET reminders.`utc_time` = DATE_ADD(reminders.`utc_time`, INTERVAL ? SECOND)\n                WHERE FIND_IN_SET(channels.`channel`, ?)\n                ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 2
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": []
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "65496ff85dd92b5aaf12519628afdc16ca7d70131744c9c53880dc56b92991d9"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                            DELETE FROM todos WHERE FIND_IN_SET(id, ?)\n                            ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": []
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "6e00a27fa770d1aa8cac48cd8878e712ef536c67eeb4fb9a4a801459ada35715"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										24
									
								
								.sqlx/query-92cdd6af01e398b22112ffe88b9ff63d9cc61faaf0dee9eda974efbc8bf84173.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.sqlx/query-92cdd6af01e398b22112ffe88b9ff63d9cc61faaf0dee9eda974efbc8bf84173.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "SELECT user_id FROM patreon_link WHERE guild_id = ?",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "ordinal": 0,
 | 
				
			||||||
 | 
					        "name": "user_id",
 | 
				
			||||||
 | 
					        "type_info": {
 | 
				
			||||||
 | 
					          "type": "LongLong",
 | 
				
			||||||
 | 
					          "flags": "NOT_NULL | PRIMARY_KEY | MULTIPLE_KEY | UNSIGNED | NO_DEFAULT_VALUE",
 | 
				
			||||||
 | 
					          "max_size": 20
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": [
 | 
				
			||||||
 | 
					      false
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "92cdd6af01e398b22112ffe88b9ff63d9cc61faaf0dee9eda974efbc8bf84173"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								.sqlx/query-93897198be27266cd9de90063ee67594cf65c1216c9b9787fc96cd8ffcc1cdef.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.sqlx/query-93897198be27266cd9de90063ee67594cf65c1216c9b9787fc96cd8ffcc1cdef.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "\n                    DELETE FROM reminders\n                    WHERE `utc_time` < NOW() - INTERVAL ? DAY\n                    ORDER BY `utc_time`\n                    LIMIT 1000\n                    ",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "93897198be27266cd9de90063ee67594cf65c1216c9b9787fc96cd8ffcc1cdef"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								.sqlx/query-9b871f08d294555453696808185c6d29d4753619fbee6295a053cefaa9dcc0ae.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.sqlx/query-9b871f08d294555453696808185c6d29d4753619fbee6295a053cefaa9dcc0ae.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "\n                    UPDATE reminders\n                    INNER JOIN `channels`\n                        ON `channels`.id = reminders.channel_id\n                    SET reminders.`utc_time` = reminders.`utc_time` + ?\n                    WHERE channels.`channel` = ?\n                    ",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 2
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "9b871f08d294555453696808185c6d29d4753619fbee6295a053cefaa9dcc0ae"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								.sqlx/query-a647934dc5485cfbf430c77b71f7b181f888b0961d5274621e5e1dd76417080e.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.sqlx/query-a647934dc5485cfbf430c77b71f7b181f888b0961d5274621e5e1dd76417080e.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
 | 
					  "query": "INSERT INTO patreon_link (user_id, guild_id, linked_at) VALUES (?, ?, NOW())\n             ON DUPLICATE KEY UPDATE guild_id = ?",
 | 
				
			||||||
 | 
					  "describe": {
 | 
				
			||||||
 | 
					    "columns": [],
 | 
				
			||||||
 | 
					    "parameters": {
 | 
				
			||||||
 | 
					      "Right": 3
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nullable": []
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "hash": "a647934dc5485cfbf430c77b71f7b181f888b0961d5274621e5e1dd76417080e"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,264 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n                SELECT\n                 reminders.attachment_name,\n                 reminders.avatar,\n                 channels.channel,\n                 reminders.content,\n                 reminders.embed_author,\n                 reminders.embed_author_url,\n                 reminders.embed_color,\n                 reminders.embed_description,\n                 reminders.embed_footer,\n                 reminders.embed_footer_url,\n                 reminders.embed_image_url,\n                 reminders.embed_thumbnail_url,\n                 reminders.embed_title,\n                 IFNULL(reminders.embed_fields, '[]') AS embed_fields,\n                 reminders.enabled,\n                 reminders.expires,\n                 reminders.interval_seconds,\n                 reminders.interval_days,\n                 reminders.interval_months,\n                 reminders.name,\n                 reminders.restartable,\n                 reminders.tts,\n                 reminders.uid,\n                 reminders.username,\n                 reminders.utc_time\n                FROM reminders\n                INNER JOIN channels ON channels.id = reminders.channel_id\n                WHERE `status` = 'pending' AND FIND_IN_SET(channels.channel, ?)",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 0,
 | 
					 | 
				
			||||||
        "name": "attachment_name",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 1040
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 1,
 | 
					 | 
				
			||||||
        "name": "avatar",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 2,
 | 
					 | 
				
			||||||
        "name": "channel",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "LongLong",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | UNIQUE_KEY | UNSIGNED | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 20
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 3,
 | 
					 | 
				
			||||||
        "name": "content",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 4,
 | 
					 | 
				
			||||||
        "name": "embed_author",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1024
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 5,
 | 
					 | 
				
			||||||
        "name": "embed_author_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 6,
 | 
					 | 
				
			||||||
        "name": "embed_color",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 7,
 | 
					 | 
				
			||||||
        "name": "embed_description",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 8,
 | 
					 | 
				
			||||||
        "name": "embed_footer",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 9,
 | 
					 | 
				
			||||||
        "name": "embed_footer_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 10,
 | 
					 | 
				
			||||||
        "name": "embed_image_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 11,
 | 
					 | 
				
			||||||
        "name": "embed_thumbnail_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 12,
 | 
					 | 
				
			||||||
        "name": "embed_title",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1024
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 13,
 | 
					 | 
				
			||||||
        "name": "embed_fields",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | BINARY",
 | 
					 | 
				
			||||||
          "max_size": 4294967292
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 14,
 | 
					 | 
				
			||||||
        "name": "enabled",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 15,
 | 
					 | 
				
			||||||
        "name": "expires",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "BINARY",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 16,
 | 
					 | 
				
			||||||
        "name": "interval_seconds",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 17,
 | 
					 | 
				
			||||||
        "name": "interval_days",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 18,
 | 
					 | 
				
			||||||
        "name": "interval_months",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 19,
 | 
					 | 
				
			||||||
        "name": "name",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 400
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 20,
 | 
					 | 
				
			||||||
        "name": "restartable",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 21,
 | 
					 | 
				
			||||||
        "name": "tts",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 22,
 | 
					 | 
				
			||||||
        "name": "uid",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 256
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 23,
 | 
					 | 
				
			||||||
        "name": "username",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 128
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 24,
 | 
					 | 
				
			||||||
        "name": "utc_time",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": [
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "af5bf4c6b30ffd316ecebc2dd53554e41f0d4f40cad63736930d20cb18159b38"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,24 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "\n        SELECT IFNULL(timezone, 'UTC') AS timezone\n        FROM users\n        WHERE timezone IS NOT NULL\n        GROUP BY timezone\n        ORDER BY COUNT(timezone) DESC\n        LIMIT 21\n        ",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 0,
 | 
					 | 
				
			||||||
        "name": "timezone",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 128
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 0
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": [
 | 
					 | 
				
			||||||
      false
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "bbdd4bd7ebffb97efab8ba7e829159e104615260929341ec0e961b4d5cd6ca0c"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "db_name": "MySQL",
 | 
					  "db_name": "MySQL",
 | 
				
			||||||
  "query": "\n            SELECT\n                reminders.id,\n                reminders.uid,\n                channels.channel,\n                reminders.utc_time,\n                reminders.interval_seconds,\n                reminders.interval_days,\n                reminders.interval_months,\n                reminders.expires,\n                reminders.enabled,\n                reminders.content,\n                reminders.embed_description,\n                reminders.set_by\n            FROM\n                reminders\n            INNER JOIN\n                channels\n            ON\n                reminders.channel_id = channels.id\n            WHERE\n                `status` = 'pending' AND\n                channels.channel = ? AND\n                FIND_IN_SET(reminders.enabled, ?)\n            ORDER BY\n                reminders.utc_time\n            ",
 | 
					  "query": "\n            SELECT\n                reminders.id,\n                reminders.uid,\n                channels.channel,\n                reminders.utc_time,\n                reminders.interval_seconds,\n                reminders.interval_days,\n                reminders.interval_months,\n                reminders.expires,\n                reminders.enabled,\n                reminders.content,\n                reminders.embed_description,\n                reminders.set_by\n            FROM\n                reminders\n            INNER JOIN\n                channels\n            ON\n                reminders.channel_id = channels.id\n            WHERE\n                `status` = 'pending' AND\n                channels.channel = ? AND\n                reminders.enabled >= ?\n            ORDER BY\n                reminders.utc_time\n            ",
 | 
				
			||||||
  "describe": {
 | 
					  "describe": {
 | 
				
			||||||
    "columns": [
 | 
					    "columns": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
@@ -130,5 +130,5 @@
 | 
				
			|||||||
      true
 | 
					      true
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "hash": "d60ea641070dbd882cd53878fa109d08bd3f65e0da8c263e78fe0b200228bc2b"
 | 
					  "hash": "d2921961627fef0e12892dbbcd4b891e58c0e52c20897aab3d95365774c01bda"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,264 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "db_name": "MySQL",
 | 
					 | 
				
			||||||
  "query": "SELECT\n                 reminders.attachment,\n                 reminders.attachment_name,\n                 reminders.avatar,\n                 CONCAT('#', channels.channel) AS channel,\n                 reminders.content,\n                 reminders.embed_author,\n                 reminders.embed_author_url,\n                 reminders.embed_color,\n                 reminders.embed_description,\n                 reminders.embed_footer,\n                 reminders.embed_footer_url,\n                 reminders.embed_image_url,\n                 reminders.embed_thumbnail_url,\n                 reminders.embed_title,\n                 reminders.embed_fields,\n                 reminders.enabled,\n                 reminders.expires,\n                 reminders.interval_seconds,\n                 reminders.interval_days,\n                 reminders.interval_months,\n                 reminders.name,\n                 reminders.restartable,\n                 reminders.tts,\n                 reminders.username,\n                 reminders.utc_time\n                FROM reminders\n                LEFT JOIN channels ON channels.id = reminders.channel_id\n                WHERE FIND_IN_SET(channels.channel, ?) AND status = 'pending'",
 | 
					 | 
				
			||||||
  "describe": {
 | 
					 | 
				
			||||||
    "columns": [
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 0,
 | 
					 | 
				
			||||||
        "name": "attachment",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Blob",
 | 
					 | 
				
			||||||
          "flags": "BLOB | BINARY",
 | 
					 | 
				
			||||||
          "max_size": 16777215
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 1,
 | 
					 | 
				
			||||||
        "name": "attachment_name",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 1040
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 2,
 | 
					 | 
				
			||||||
        "name": "avatar",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 3,
 | 
					 | 
				
			||||||
        "name": "channel",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 84
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 4,
 | 
					 | 
				
			||||||
        "name": "content",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 5,
 | 
					 | 
				
			||||||
        "name": "embed_author",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1024
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 6,
 | 
					 | 
				
			||||||
        "name": "embed_author_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 7,
 | 
					 | 
				
			||||||
        "name": "embed_color",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 8,
 | 
					 | 
				
			||||||
        "name": "embed_description",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 9,
 | 
					 | 
				
			||||||
        "name": "embed_footer",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 8192
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 10,
 | 
					 | 
				
			||||||
        "name": "embed_footer_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 11,
 | 
					 | 
				
			||||||
        "name": "embed_image_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 12,
 | 
					 | 
				
			||||||
        "name": "embed_thumbnail_url",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 2048
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 13,
 | 
					 | 
				
			||||||
        "name": "embed_title",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1024
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 14,
 | 
					 | 
				
			||||||
        "name": "embed_fields",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Json",
 | 
					 | 
				
			||||||
          "flags": "BLOB | BINARY",
 | 
					 | 
				
			||||||
          "max_size": 4294967295
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 15,
 | 
					 | 
				
			||||||
        "name": "enabled",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 16,
 | 
					 | 
				
			||||||
        "name": "expires",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "BINARY",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 17,
 | 
					 | 
				
			||||||
        "name": "interval_seconds",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 18,
 | 
					 | 
				
			||||||
        "name": "interval_days",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 19,
 | 
					 | 
				
			||||||
        "name": "interval_months",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Long",
 | 
					 | 
				
			||||||
          "flags": "UNSIGNED",
 | 
					 | 
				
			||||||
          "max_size": 10
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 20,
 | 
					 | 
				
			||||||
        "name": "name",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 400
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 21,
 | 
					 | 
				
			||||||
        "name": "restartable",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 22,
 | 
					 | 
				
			||||||
        "name": "tts",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Tiny",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL",
 | 
					 | 
				
			||||||
          "max_size": 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 23,
 | 
					 | 
				
			||||||
        "name": "username",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "VarString",
 | 
					 | 
				
			||||||
          "flags": "",
 | 
					 | 
				
			||||||
          "max_size": 128
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "ordinal": 24,
 | 
					 | 
				
			||||||
        "name": "utc_time",
 | 
					 | 
				
			||||||
        "type_info": {
 | 
					 | 
				
			||||||
          "type": "Datetime",
 | 
					 | 
				
			||||||
          "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
 | 
					 | 
				
			||||||
          "max_size": 19
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "parameters": {
 | 
					 | 
				
			||||||
      "Right": 1
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "nullable": [
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      false,
 | 
					 | 
				
			||||||
      true,
 | 
					 | 
				
			||||||
      false
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "hash": "db69def9391283efb9bf915223d7d6b2d169203b7dc45481a509137f7590d9a6"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -34,4 +34,5 @@ COPY ./dp.py ./
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
RUN cargo install --path .
 | 
					RUN cargo install --path .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE 18920
 | 
				
			||||||
CMD ["reminder-rs"]
 | 
					CMD ["reminder-rs"]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										40
									
								
								compose.yaml
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								compose.yaml
									
									
									
									
									
								
							@@ -1,21 +1,33 @@
 | 
				
			|||||||
version: '3.3'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
    bot:
 | 
					 | 
				
			||||||
        build: ./Containerfile.run
 | 
					 | 
				
			||||||
        image: reminder-rs-run
 | 
					 | 
				
			||||||
        restart: always
 | 
					 | 
				
			||||||
        expose:
 | 
					 | 
				
			||||||
            - '80'
 | 
					 | 
				
			||||||
  database:
 | 
					  database:
 | 
				
			||||||
    image: mysql:8.0
 | 
					    image: mysql:8.0
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					    command: --log-bin-trust-function-creators=1
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
            MYSQL_DATABASE: 'reminders'
 | 
					      MYSQL_ROOT_PASSWORD: root
 | 
				
			||||||
            MYSQL_USER: 'reminder-bot'
 | 
					      MYSQL_DATABASE: reminders
 | 
				
			||||||
        ports:
 | 
					      MYSQL_USER: reminder-bot
 | 
				
			||||||
            - '3306:3306'
 | 
					      MYSQL_PASSWORD: password
 | 
				
			||||||
        expose:
 | 
					 | 
				
			||||||
            - '3306'
 | 
					 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - reminders:/var/lib/mysql
 | 
					      - reminders:/var/lib/mysql
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - 3306:3306
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bot:
 | 
				
			||||||
 | 
					    build:
 | 
				
			||||||
 | 
					      context: .
 | 
				
			||||||
 | 
					      dockerfile: Containerfile.run
 | 
				
			||||||
 | 
					    image: reminder-rs-run
 | 
				
			||||||
 | 
					    restart: always
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					      - database
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - .env
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      DATABASE_URL: "mysql://reminder-bot:password@database/reminders"
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - 18920:18920
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					volumes:
 | 
				
			||||||
 | 
					  reminders:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user