Titan/discordbot/run.py
2020-02-17 18:10:24 -08:00

59 lines
1.4 KiB
Python

from titanembeds import Titan
from config import config
import argparse
import gc
import requests
def print_shards():
token = config["bot-token"]
url = "https://discordapp.com/api/v6/gateway/bot"
headers = {"Authorization": "Bot {}".format(token)}
r = requests.get(url, headers=headers)
if r.status_code >= 200 and r.status_code < 300:
print("Suggested number of shards: {}".format(r.json().get("shards", 0)))
else:
print("Status Code: {}".format(r.status_code))
print(r.text)
def main():
parser = argparse.ArgumentParser(
description="Embed Discord like a True Titan (Discord Bot portion)"
)
parser.add_argument(
"-sid",
"--shard_id",
help="ID of the shard",
type=int,
default=None
)
parser.add_argument(
"-sc",
"--shard_count",
help="Number of total shards",
type=int,
default=None
)
parser.add_argument(
"-s",
"--shards",
help="Prints the reccomended number of shards to spawn",
action="store_true"
)
args = parser.parse_args()
if args.shards:
print_shards()
return
print("Starting...")
te = Titan(
shard_ids = [args.shard_id] if args.shard_id is not None else None,
shard_count = args.shard_count
)
te.run()
gc.collect()
if __name__ == '__main__':
main()