mirror of https://gitlab.com/litecord/litecord.git
Merge branch 'addbot-manage' into 'master'
Add 'addbot' manage.py command See merge request litecord/litecord!84
This commit is contained in:
commit
fb9136d21d
|
|
@ -94,6 +94,22 @@ async def adduser(ctx, args):
|
|||
print(f'\tdiscrim: {user["discriminator"]}')
|
||||
|
||||
|
||||
async def addbot(ctx, args):
|
||||
uid, _ = await create_user(args.username, args.email, args.password)
|
||||
|
||||
await ctx.db.execute(
|
||||
"""
|
||||
UPDATE users
|
||||
SET bot=True
|
||||
WHERE id = $1
|
||||
""",
|
||||
uid,
|
||||
)
|
||||
|
||||
args.user_id = uid
|
||||
|
||||
return await generate_bot_token(ctx, args)
|
||||
|
||||
async def set_flag(ctx, args):
|
||||
"""Setting a 'staff' flag gives the user access to the Admin API.
|
||||
Beware of that.
|
||||
|
|
@ -138,7 +154,8 @@ async def generate_bot_token(ctx, args):
|
|||
)
|
||||
|
||||
if not password_hash:
|
||||
return print("cannot find a bot with specified id")
|
||||
print("cannot find a bot with specified id")
|
||||
return 1
|
||||
|
||||
print(make_token(args.user_id, password_hash))
|
||||
|
||||
|
|
@ -198,6 +215,14 @@ def setup(subparser):
|
|||
|
||||
setup_test_parser.set_defaults(func=adduser)
|
||||
|
||||
addbot_parser = subparser.add_parser("addbot", help="create a bot")
|
||||
|
||||
addbot_parser.add_argument("username", help="username of the bot")
|
||||
addbot_parser.add_argument("email", help="email of the bot")
|
||||
addbot_parser.add_argument("password", help="password of the bot")
|
||||
|
||||
addbot_parser.set_defaults(func=addbot)
|
||||
|
||||
setflag_parser = subparser.add_parser(
|
||||
"setflag", help="set a flag for a user", description=set_flag.__doc__
|
||||
)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
import asyncio
|
||||
import argparse
|
||||
import inspect
|
||||
from sys import argv
|
||||
from sys import argv, exit
|
||||
from dataclasses import dataclass
|
||||
|
||||
from quart import Quart
|
||||
|
|
@ -93,7 +93,7 @@ def main(config):
|
|||
async def _ctx_wrapper(fake_app, args):
|
||||
app = fake_app.make_app()
|
||||
async with app.app_context():
|
||||
await args.func(fake_app, args)
|
||||
return await args.func(fake_app, args)
|
||||
|
||||
try:
|
||||
if len(argv) < 2:
|
||||
|
|
@ -107,8 +107,9 @@ def main(config):
|
|||
init_app_managers(app, init_voice=False)
|
||||
|
||||
args = parser.parse_args()
|
||||
loop.run_until_complete(_ctx_wrapper(app, args))
|
||||
return loop.run_until_complete(_ctx_wrapper(app, args))
|
||||
except Exception:
|
||||
log.exception("error while running command")
|
||||
return 1
|
||||
finally:
|
||||
loop.run_until_complete(app.db.close())
|
||||
|
|
|
|||
Loading…
Reference in New Issue