聊天清除没有权限复出消息不起作用

时间:2020-11-07 13:19:19

标签: python discord.py

我编码了一个机器人,该机器人具有!clear功能,并且代码是

@client.command()
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount=5):
    await ctx.channel.purge(limit=amount)
    print(f'5 Messages has been deleted!')

@clear.error
async def clear_error(error, ctx):
    if isinstance(error, CheckFailure):
        time.sleep(0.5)
        print("No Permission!")
        await ctx.send(f'You have no permission!')

问题是当用户没有权限执行此操作时,等待ctx.send不能说您没有权限! 在这个地方或其他地方等待ctx.send错误吗?

1 个答案:

答案 0 :(得分:0)

您只需要交换参数的位置即可。第一个参数必须为 void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MultiProvider( providers: [Provider<LiraAnchor>(create: (_) => LiraAnchor())], child: MaterialApp( theme: ThemeData( primaryColor: LiraColours.highlightGreen, highlightColor: LiraColours.highlightGreen, accentColor: LiraColours.highlightGreen, cursorColor: LiraColours.highlightGreen, indicatorColor: LiraColours.highlightGreen, visualDensity: VisualDensity.adaptivePlatformDensity, ), debugShowCheckedModeBanner: false, routes: {'/home': (ctx) => HomePage(), '/topup': (ctx) => TopUpPage()}, builder: (ctx, _) { return LandingPage(); }, ), ); } } class LandingPage extends StatefulWidget { LandingPage({Key key}) : super(key: key); @override _LandingPageState createState() => _LandingPageState(); } class _LandingPageState extends State<LandingPage> { final PageController _pageController = PageController(); @override Widget build(BuildContext context) { final mediaQuery = MediaQuery.of(context); final double width = mediaQuery.size.width; final double height = mediaQuery.size.height; final List<Widget> onboarding = [ SplashPage(width: width, height: height, pageController: _pageController), SignInPage(height: height, width: width) ]; Navigator.of(context).pushNamed('/home'); return Scaffold( backgroundColor: Color(0xFFECF0F3), body: LayoutBuilder( builder: (BuildContext context, BoxConstraints viewportConstraints) { return ConstrainedBox( constraints: BoxConstraints( minHeight: viewportConstraints.maxHeight, ), child: IntrinsicHeight( child: SingleChildScrollView( child: Container( width: width, height: height, child: PageView.builder( controller: this._pageController, itemCount: onboarding.length, itemBuilder: (ctx, index) { return onboarding[index]; }), ), ), )); }), ); } } ,第二个参数为ctx

error