Skip to content

Commit d4eb2e5

Browse files
committed
add .idea
1 parent 42adafc commit d4eb2e5

2 files changed

Lines changed: 63 additions & 45 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.env
2+
.idea

script/main.py

Lines changed: 62 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -155,52 +155,69 @@ async def message_handler(update: Update, context: ContextTypes.DEFAULT_TYPE) ->
155155
"spam_check_passed": True,
156156
})
157157
else:
158-
await context.bot.restrict_chat_member(
159-
chat_id=update.message.chat.id,
160-
user_id=new_member.id,
161-
permissions=ChatPermissions(
162-
can_send_messages=False,
163-
can_send_media_messages=False,
164-
can_send_polls=False,
165-
can_send_other_messages=False,
166-
can_add_web_page_previews=False,
167-
can_change_info=False,
168-
can_invite_users=False,
169-
can_pin_messages=False,
170-
),
171-
)
172-
173-
random.shuffle(captcha_symbols)
174-
i = random.randint(1, len(captcha_symbols)) - 1
175-
keyboard_row = []
176-
for k in range(len(captcha_symbols)):
177-
d = '0'
178-
if k == i:
179-
d = '1'
180-
keyboard_row.append(InlineKeyboardButton(captcha_symbols[k], callback_data=d))
181-
reply_markup = InlineKeyboardMarkup([keyboard_row])
182-
result = await update.message.reply_text(
183-
"Hello " + new_member.name + "\nPlease select " + captcha_symbols[i] + " in 60 seconds",
184-
reply_markup=reply_markup)
185-
186-
context.job_queue.run_once(
187-
captcha_timeout,
188-
60,
189-
data=result.id,
190-
name=str(update.message.chat.id) + '_' + str(new_member.id),
191-
chat_id=update.message.chat.id,
192-
user_id=new_member.id,
193-
)
194-
195-
mongodb_collection.insert_one({
196-
"chat_id": update.message.chat.id,
197-
"chat_name": update.message.chat.title,
158+
if mongodb_collection.find_one({
198159
"user_id": new_member.id,
199-
"user_name": new_member.name,
200-
"premium": new_member.is_premium,
201-
"welcome_message_id": update.message.id,
202-
"joined_time": update.message.date,
203-
})
160+
"$or": [
161+
{
162+
"bot_check_passed": False,
163+
},
164+
{
165+
"spam_check_passed": False,
166+
},
167+
],
168+
}):
169+
await update.message.chat.ban_member(
170+
user_id=update.message.from_user.id,
171+
revoke_messages=True,
172+
)
173+
await update.message.delete()
174+
else:
175+
await context.bot.restrict_chat_member(
176+
chat_id=update.message.chat.id,
177+
user_id=new_member.id,
178+
permissions=ChatPermissions(
179+
can_send_messages=False,
180+
can_send_media_messages=False,
181+
can_send_polls=False,
182+
can_send_other_messages=False,
183+
can_add_web_page_previews=False,
184+
can_change_info=False,
185+
can_invite_users=False,
186+
can_pin_messages=False,
187+
),
188+
)
189+
190+
random.shuffle(captcha_symbols)
191+
i = random.randint(1, len(captcha_symbols)) - 1
192+
keyboard_row = []
193+
for k in range(len(captcha_symbols)):
194+
d = '0'
195+
if k == i:
196+
d = '1'
197+
keyboard_row.append(InlineKeyboardButton(captcha_symbols[k], callback_data=d))
198+
reply_markup = InlineKeyboardMarkup([keyboard_row])
199+
result = await update.message.reply_text(
200+
"Hello " + new_member.name + "\nPlease select " + captcha_symbols[i] + " in 60 seconds",
201+
reply_markup=reply_markup)
202+
203+
context.job_queue.run_once(
204+
captcha_timeout,
205+
60,
206+
data=result.id,
207+
name=str(update.message.chat.id) + '_' + str(new_member.id),
208+
chat_id=update.message.chat.id,
209+
user_id=new_member.id,
210+
)
211+
212+
mongodb_collection.insert_one({
213+
"chat_id": update.message.chat.id,
214+
"chat_name": update.message.chat.title,
215+
"user_id": new_member.id,
216+
"user_name": new_member.name,
217+
"premium": new_member.is_premium,
218+
"welcome_message_id": update.message.id,
219+
"joined_time": update.message.date,
220+
})
204221
elif update.message.left_chat_member:
205222
if update.message.left_chat_member.id == context.bot.id:
206223
mongodb_database["group"].update_one({

0 commit comments

Comments
 (0)