locks.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:tgbot 作者: PaulSonOfLars 项目源码 文件源码
def lock(bot, update, args):
    chat = update.effective_chat
    message = update.effective_message
    if can_delete(chat, bot.id):
        if len(args) >= 1:
            if args[0] in LOCK_TYPES:
                sql.update_lock(chat.id, args[0], locked=True)
                message.reply_text("Locked {} messages for all non-admins!".format(args[0]))

            elif args[0] in RESTRICTION_TYPES:
                sql.update_restriction(chat.id, args[0], locked=True)
                message.reply_text("locked {}".format(args[0]))
                members = users_sql.get_chat_members(chat.id)
                if args[0] == "messages":
                    for mem in members:
                        try:
                            bot.restrict_chat_member(chat.id, mem.user,
                                                     can_send_messages=True)
                        except TelegramError:
                            pass
                elif args[0] == "media":
                    for mem in members:
                        try:
                            bot.restrict_chat_member(chat.id, mem.user,
                                                     can_send_messages=True,
                                                     can_send_media_messages=True)
                        except TelegramError:
                            pass
                elif args[0] == "other":
                    for mem in members:
                        try:
                            bot.restrict_chat_member(chat.id, mem.user,
                                                     can_send_messages=True,
                                                     can_send_media_messages=True,
                                                     can_send_other_messages=True)
                        except TelegramError:
                            pass
                elif args[0] == "previews":
                    for mem in members:
                        try:
                            bot.restrict_chat_member(chat.id, mem.user,
                                                     can_send_messages=True,
                                                     can_send_media_messages=True,
                                                     can_add_web_page_previews=True)
                        except TelegramError:
                            pass

    else:
        message.reply_text("I'm not an administrator, or haven't got delete rights.")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号