From 088360ec51f05f02fdb19d0ffcef42581c276c56 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Mon, 13 Jan 2020 02:26:01 +0100 Subject: [PATCH] Make Red shutdown when resetting token (#3358) * Update __main__.py * Update __main__.py --- redbot/__main__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/redbot/__main__.py b/redbot/__main__.py index 0f0d2dacf..66b64cc57 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -16,6 +16,7 @@ import sys from argparse import Namespace from copy import deepcopy from pathlib import Path +from typing import NoReturn import discord @@ -287,7 +288,7 @@ def handle_edit(cli_flags: Namespace): sys.exit(0) -async def run_bot(red: Red, cli_flags: Namespace): +async def run_bot(red: Red, cli_flags: Namespace) -> NoReturn: driver_cls = drivers.get_driver_class() @@ -334,6 +335,7 @@ async def run_bot(red: Red, cli_flags: Namespace): sys.exit(0) try: await red.start(token, bot=True, cli_flags=cli_flags) + # This raises SystemExit in normal use at close except discord.LoginFailure: log.critical("This token doesn't seem to be valid.") db_token = await red._config.token() @@ -341,6 +343,8 @@ async def run_bot(red: Red, cli_flags: Namespace): if confirm("\nDo you want to reset the token?"): await red._config.token.set("") print("Token has been reset.") + sys.exit(0) + sys.exit(1) def handle_early_exit_flags(cli_flags: Namespace):