15 lines
No EOL
1.2 KiB
Python
15 lines
No EOL
1.2 KiB
Python
import requests, os
|
|
__ircat_type__ = "sql.provider" # The type of module
|
|
__ircat_requires__ = ["cf_accountid", "cf_apitoken", "cf_d1database"] # The required config.yml entries.
|
|
class broker:
|
|
def __init__(self, cf_accountid:str, cf_apitoken:str, cf_d1database:str):
|
|
self.account_id = cf_accountid
|
|
self.api_token = cf_apitoken
|
|
self.base_url = f"https://api.cloudflare.com/client/v4/accounts/{self.account_id}/d1/database"
|
|
self.headers = {
|
|
"Content-Type": "application/json",
|
|
"Authorization": f"Bearer {self.api_token}"
|
|
}
|
|
requests.post(self.base_url, headers=self.headers, json={"sql": "CREATE table IF NOT EXISTS bans (ip varchar(255), reason varchar(255)); CREATE table IF NOT EXISTS nickserv (user varchar(255), modes varchar(255), hash varchar(255), email varchar(255)); CREATE table IF NOT EXISTS groups (name varchar(255), owner varchar(255)); CREATE table IF NOT EXISTS chanserv (name varchar(255), modes varchar(255), params varchar(255), owner varchar(255), usermodes varchar(255), optimodes varchar(255))"})
|
|
def cf_insert(self, command:str, params:list):
|
|
rq = requests.post(self.base_url, headers=self.headers, json={"sql": command, "params": params}) |