Compare commits
	
		
			2 Commits
		
	
	
		
			c81a37f9ac
			...
			5f38f8c603
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5f38f8c603 | |||
| ed4bbacaf1 | 
@@ -7,7 +7,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- [X] Команда /start
 | 
					- [X] Команда /start
 | 
				
			||||||
- [ ] Команда /help
 | 
					- [ ] Команда /help
 | 
				
			||||||
- [ ] Команда /mute
 | 
					- [X] Команда /mute
 | 
				
			||||||
- [ ] Команда /unmute
 | 
					- [ ] Команда /unmute
 | 
				
			||||||
- [X] Команда /ban
 | 
					- [X] Команда /ban
 | 
				
			||||||
- [X] Команда /unban
 | 
					- [X] Команда /unban
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,14 +39,6 @@ def parse_mute_time(time_str: str) -> int:
 | 
				
			|||||||
        except:
 | 
					        except:
 | 
				
			||||||
            return None
 | 
					            return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Число без указания единицы (по умолчанию минуты)
 | 
					 | 
				
			||||||
    elif time_str.isdigit():
 | 
					 | 
				
			||||||
        try:
 | 
					 | 
				
			||||||
            minutes = int(time_str)
 | 
					 | 
				
			||||||
            return abs(minutes) * 60
 | 
					 | 
				
			||||||
        except:
 | 
					 | 
				
			||||||
            return None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return None
 | 
					    return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Возвращает причину мута
 | 
					# Возвращает причину мута
 | 
				
			||||||
@@ -159,13 +151,19 @@ def register_handlers(bot: AsyncTeleBot): # Регистрирует все об
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                return
 | 
					                return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Случай №1 - Команда используется в ответ на сообщение
 | 
					            # Если одно слово, то удаляем сообщение. Ошибка
 | 
				
			||||||
            if len(parts_msg) >= 2:
 | 
					            if len(parts_msg) == 1:
 | 
				
			||||||
 | 
					                await asyncio.sleep(3)
 | 
				
			||||||
 | 
					                await bot.delete_message(message.chat.id, message.message_id)
 | 
				
			||||||
 | 
					                return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                # Если мутят в теме
 | 
					            # Если два слово, то ответом на сообщение
 | 
				
			||||||
 | 
					            elif len(parts_msg) == 2:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                # Если это тема
 | 
				
			||||||
                if message.is_topic_message:
 | 
					                if message.is_topic_message:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    # Если без ответа на сообщение
 | 
					                    # Если без ответа на сообщение, ошибка
 | 
				
			||||||
                    if message.message_thread_id == message.reply_to_message.message_id:
 | 
					                    if message.message_thread_id == message.reply_to_message.message_id:
 | 
				
			||||||
                        await asyncio.sleep(3)
 | 
					                        await asyncio.sleep(3)
 | 
				
			||||||
                        await bot.delete_message(message.chat.id, message.message_id)
 | 
					                        await bot.delete_message(message.chat.id, message.message_id)
 | 
				
			||||||
@@ -177,24 +175,27 @@ def register_handlers(bot: AsyncTeleBot): # Регистрирует все об
 | 
				
			|||||||
                        time_arg = parts_msg[1]
 | 
					                        time_arg = parts_msg[1]
 | 
				
			||||||
                        reason = extract_reason(parts_msg[2:])
 | 
					                        reason = extract_reason(parts_msg[2:])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                # Если мутят в обычном чате
 | 
					                # Если это обычный чат
 | 
				
			||||||
                elif message.reply_to_message and message.is_topic_message is None:
 | 
					                elif message.reply_to_message and message.is_topic_message is None:
 | 
				
			||||||
                    target_user = message.reply_to_message.from_user
 | 
					                    target_user = message.reply_to_message.from_user
 | 
				
			||||||
                    time_arg = parts_msg[1]
 | 
					                    time_arg = parts_msg[1]
 | 
				
			||||||
                    reason = extract_reason(parts_msg[2:])
 | 
					                    reason = extract_reason(parts_msg[2:])
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                # Не выводим сообщение, что команда неправильная
 | 
					                # Удаляем сообщение, если команда неправильная
 | 
				
			||||||
                else:
 | 
					                else:
 | 
				
			||||||
                    await asyncio.sleep(3)
 | 
					                    await asyncio.sleep(3)
 | 
				
			||||||
                    await bot.delete_message(message.chat.id, message.message_id)
 | 
					                    await bot.delete_message(message.chat.id, message.message_id)
 | 
				
			||||||
                    return
 | 
					                    return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Случай №2 - Команда через тег или ID
 | 
					            else:
 | 
				
			||||||
            elif len(parts_msg) >= 3:
 | 
					
 | 
				
			||||||
 | 
					                # Если второе слово это тег или ID
 | 
				
			||||||
 | 
					                if parts_msg[1].strip().isdigit() or parts_msg[1].startswith('@'):
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                    identifier = parts_msg[1].strip()
 | 
					                    identifier = parts_msg[1].strip()
 | 
				
			||||||
                    time_arg = parts_msg[2]
 | 
					                    time_arg = parts_msg[2]
 | 
				
			||||||
                    reason = extract_reason(parts_msg[3:])
 | 
					                    reason = extract_reason(parts_msg[3:])
 | 
				
			||||||
 | 
					                    print(identifier)
 | 
				
			||||||
                    
 | 
					                    
 | 
				
			||||||
                    # Поиск по ID
 | 
					                    # Поиск по ID
 | 
				
			||||||
                    if identifier.isdigit():
 | 
					                    if identifier.isdigit():
 | 
				
			||||||
@@ -226,13 +227,34 @@ def register_handlers(bot: AsyncTeleBot): # Регистрирует все об
 | 
				
			|||||||
                                is_bot=False
 | 
					                                is_bot=False
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Если команда неправильная
 | 
					 | 
				
			||||||
                else:
 | 
					                else:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    # Если это тема
 | 
				
			||||||
 | 
					                    if message.is_topic_message:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        # Если без ответа на сообщение, ошибка
 | 
				
			||||||
 | 
					                        if message.message_thread_id == message.reply_to_message.message_id:
 | 
				
			||||||
                            await asyncio.sleep(3)
 | 
					                            await asyncio.sleep(3)
 | 
				
			||||||
                            await bot.delete_message(message.chat.id, message.message_id)
 | 
					                            await bot.delete_message(message.chat.id, message.message_id)
 | 
				
			||||||
                            return
 | 
					                            return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            print(reason)
 | 
					                        # Если с ответом на сообщение
 | 
				
			||||||
 | 
					                        else:
 | 
				
			||||||
 | 
					                            target_user = message.reply_to_message.from_user
 | 
				
			||||||
 | 
					                            time_arg = parts_msg[1]
 | 
				
			||||||
 | 
					                            reason = extract_reason(parts_msg[2:])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    # Если это обычный чат
 | 
				
			||||||
 | 
					                    elif message.reply_to_message and message.is_topic_message is None:
 | 
				
			||||||
 | 
					                        target_user = message.reply_to_message.from_user
 | 
				
			||||||
 | 
					                        time_arg = parts_msg[1]
 | 
				
			||||||
 | 
					                        reason = extract_reason(parts_msg[2:])
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    # Удаляем сообщение, если команда неправильная
 | 
				
			||||||
 | 
					                    else:
 | 
				
			||||||
 | 
					                        await asyncio.sleep(3)
 | 
				
			||||||
 | 
					                        await bot.delete_message(message.chat.id, message.message_id)
 | 
				
			||||||
 | 
					                        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Если пользователь не найден
 | 
					            # Если пользователь не найден
 | 
				
			||||||
            if not target_user:
 | 
					            if not target_user:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user