def temp_mute(infos, minutes): try: time.sleep(minutes * 60) HTTPLL.restrictChatMember(infos.token, infos.cid, infos.to_user.uid) send(infos, "user_unmuted") except Exception as err: HTTPLL.sendMessage(infos.token, infos.cid, "Non ho potuto unmutare l'utente con ID %s..." % infos.to_user.uid) Log.d("Errore nel unmute: %s" % err)
def unwarn(infos): try: try: warns = json.loads(open("Files/bot_files/%s/warns.json" % infos.bid).read()) except Exception: warns = {} if not infos.admin: return send(infos, "non_admin", antispam=False, recorsivity=1) if infos.is_auto: return send(infos, "auto_unwarn", antispam=False, recorsivity=1) if not infos.user.is_admin: return send(infos, "ut_non_admin", antispam=False, recorsivity=1) if infos.to_user.is_owner: return send(infos, "user_is_owner", antispam=False, recorsivity=1) if infos.to_user.is_admin: return send(infos, "ut_admin", antispam=False, recorsivity=1) gid = str(infos.cid) ut_to_unwarn = str(infos.to_user.uid) if gid not in warns: warns[gid] = {} if ut_to_unwarn not in warns[gid]: warns[gid][ut_to_unwarn] = 0 warns[gid][ut_to_unwarn] -= 1 nwarns = warns[gid][ut_to_unwarn] if nwarns == -1: return send(infos, "unwarn_-1", antispam=False, recorsivity=1) if nwarns == 0: send(infos, "unwarn_0", antispam=False, recorsivity=1) if nwarns == 1: send(infos, "unwarn_1", antispam=False, recorsivity=1) with open("Files/bot_files/%s/warns.json" % infos.bid, "w") as fl: fl.write(json.dumps(warns)) except Exception as err: send(infos, "general_error", antispam=False, recorsivity=1) Log.e(err)
def warn(infos, self=False): try: try: warns = json.loads(open("Files/bot_files/%s/warns.json" % infos.bid).read()) except Exception: warns = {} gid = str(infos.cid) if not self: ut_to_warn = str(infos.to_user.uid) if not infos.admin: return send(infos, "non_admin", antispam=False, recorsivity=1) if infos.is_auto: return send(infos, "auto_warn", antispam=False, recorsivity=1) if not infos.user.is_admin: return send(infos, "ut_non_admin", antispam=False, recorsivity=1) if infos.to_user.is_owner: return send(infos, "user_is_owner", antispam=False, recorsivity=1) if infos.to_user.is_admin: return send(infos, "ut_admin", antispam=False, recorsivity=1) else: ut_to_warn = str(infos.user.uid) if infos.user.is_admin: return if infos.user.is_owner: return if infos.user.is_admin: return if gid not in warns: warns[gid] = {} if ut_to_warn not in warns[gid]: warns[gid][ut_to_warn] = 0 warns[gid][ut_to_warn] += 1 nwarns = warns[gid][ut_to_warn] if not self: if nwarns == 1: send(infos, "warn1", antispam=False, recorsivity=1) if nwarns == 2: send(infos, "warn2", antispam=False, recorsivity=1) if nwarns == 3: warns[gid][ut_to_warn] = 0 send(infos, "warn3", antispam=False, recorsivity=1) HTTPLL.kickChatMember(infos.token, infos.cid, ut_to_warn) else: if nwarns == 3: warns[gid][ut_to_warn] = 0 HTTPLL.kickChatMember(infos.token, infos.cid, ut_to_warn) with open("Files/bot_files/%s/warns.json" % infos.bid, "w") as fl: fl.write(json.dumps(warns)) except Exception as err: send(infos, "general_error", antispam=False, recorsivity=1) Log.e(err)