-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTG_BOTSCHOOL.py
More file actions
118 lines (100 loc) · 6.5 KB
/
Copy pathTG_BOTSCHOOL.py
File metadata and controls
118 lines (100 loc) · 6.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -- Разбирайтесь сами, мне лень писать ((( --
import telebot
from telebot import types
import time
bot = telebot.TeleBot('TOKEN')
bot.set_webhook()
@bot.message_handler(commands = ['start']) # -- старт
def start_message(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
item1 = types.KeyboardButton("О боте")
item2 = types.KeyboardButton("Credits")
item3 = types.KeyboardButton("Функции")
item4 = types.KeyboardButton("Загрузка")
markup.add(item1, item2, item3, item4)
bot.send_message(message.chat.id, 'Привет, *{0.username}*. Я - бот для помощи в администрации каналов. Можете использовать кнопки.'.format(message.from_user), reply_markup = markup, parse_mode= 'Markdown')
@bot.message_handler(func=lambda message: message.text == "О боте")
def abtBot(message):
bot.send_message(message.chat.id, 'Этот бот является моим школьным проектом и помощником для администрации каналов. Полный код на Github см. Credits ')
@bot.message_handler(func=lambda message: message.text == "Привет, @TgSh4Bot")
def abtBot(message):
name = message.from_user.username
bot.send_message(message.chat.id, f'Привет, *{name}*',parse_mode= 'Markdown')
@bot.message_handler(func=lambda message: message.text == "Credits")
def abtBot(message):
bot.send_message(message.chat.id, '[Код для бота](https://github.com/DR-EM4sh/Tg-bot)',parse_mode ='Markdown')
@bot.message_handler(func=lambda message: message.text == "Функции")
def abtBot(message):
bot.send_message(message.chat.id, '*Кик* \n*Мут/Инмут* \n*Приветствие*',parse_mode= 'Markdown')
@bot.message_handler(func=lambda message: message.text == "Загрузка")
def abtBot(message):
bot.send_message(message.chat.id, '*Когда-нибудь* (а может и никогда)',parse_mode ='Markdown')
@bot.message_handler(content_types=["new_chat_members"])
def new_member(message):
name = message.new_chat_members[0].username
if name == "TgSh4Bot":
bot.send_message(message.chat.id, "Привет, теперь я здесь ")
else:
bot.send_message(message.chat.id, f"Привет, *{name}*. Добро пожаловать! ",parse_mode= 'Markdown')
@bot.message_handler(func=lambda message: message.text == "Кик")
def kick_ppl(message):
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_status = bot.get_chat_member(chat_id, user_id).status
user_id1 = message.from_user.id
user_status1 = bot.get_chat_member(chat_id, user_id1).status
if user_status == 'administrator' or user_status == 'creator':
bot.reply_to(message, "Невозможно кикнуть админа.")
elif user_status1 != 'administrator' or user_status != 'creator':
bot.reply_to(f"*{message.from_user.username}*, вы не админ.", parse_mode = 'Markdown')
else:
bot.kick_chat_member(chat_id, user_id)
bot.reply_to(message, f"*{message.reply_to_message.from_user.username}* был кикнут.", parse_mode = 'Markdown')
else:
bot.reply_to(message, "Используйте команду в ответ на чье-то сообщение")
@bot.message_handler(func=lambda message: message.text == "Мут")
def mute_bunt(message):
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_status = bot.get_chat_member(chat_id, user_id).status
user_id1 = message.from_user.id
user_status1 = bot.get_chat_member(chat_id, user_id1).status
if user_status == 'administrator' or user_status == 'creator':
bot.reply_to(message, "Невозможно замутить админа.")
elif user_status1 != 'administrator' or user_status1 != 'creator':
bot.reply_to(f"*{message.from_user.username}*, вы не админ.", parse_mode = 'Markdown')
else:
duration = 60 # -- время
args = message.text.split()[1:]
if args:
try:
duration = int(args[0])
except ValueError:
bot.reply_to(message, "Введите время *правильно*.", parse_mode = 'Markdown')
return
if duration < 1:
bot.reply_to(message, "Время должно быть *положительным числом*.", parse_mode = 'Markdown')
return
if duration > 1440:
bot.reply_to(message, "Нельзя больше дня")
return
bot.restrict_chat_member(chat_id, user_id, until_date=time.time()+duration*60) # -- умножаем минуты на секунды и получаем время
bot.reply_to(message, f"*{message.reply_to_message.from_user.username}* замучен на *{duration}* минут.",parse_mode = 'Markdown')
else:
bot.reply_to(message, "Используйте команду в ответ на чье-то сообщение")
@bot.message_handler(func=lambda message: message.text == "Инмут")
def unmute_bunt(message):
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
user_id1 = message.from_user.id
user_status1 = bot.get_chat_member(chat_id, user_id1).status
bot.restrict_chat_member(chat_id, user_id, can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True)
bot.reply_to(message, f"*{message.reply_to_message.from_user.username}* размучен.",parse_mode = 'Markdown')
elif user_status1 != 'administrator' or user_status1 != 'creator':
bot.reply_to(f"*{message.from_user.username}*, вы не админ.", parse_mode = 'Markdown')
else:
bot.reply_to(message, "Используйте команду на сообщение того, кого хотите размутить")
bot.infinity_polling()