Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.23 KB | None | 0 0
  1. import time
  2. import vk_api
  3. import random
  4. import requests
  5. import threading
  6. from threading import Thread
  7. from vk_api.longpoll import VkLongPoll, VkEventType, VkChatEventType
  8.  
  9. limit = 3
  10. admins = [147084786, 583435863]
  11. muted = {}
  12. matidel = {}
  13. matiwarn = {}
  14. warnlist = {}
  15. mati = ['бля', 'еба', 'еби', 'ебё', 'ебо', 'ебу', 'сука', 'суки', 'хуй', 'хуи', 'хуе', 'хуя', 'пидор', 'пидр', 'соси', 'сосат', 'сосал']
  16. def main():
  17.     session = vk_api.VkApi(token='5362e85e039b1ae543aedbab3a586833dd57b8dfb5e6932261c81a9a258498a237b2016ffdba17d5beb92')
  18.     longpoll = VkLongPoll(session)
  19.     vk = session.get_api()
  20.     for event in longpoll.listen():
  21.         if event.from_chat:
  22.             try:
  23.                 otv = 0
  24.                 ms = event.text.lower()                                                                                                                                
  25.                 mst = event.text
  26.                 otv = vk.messages.getHistory(
  27.                 peer_id = event.peer_id,
  28.                 count = 1)['items'][0]['reply_message']['from_id']
  29.             except:
  30.                 pass
  31.             try:
  32.               if ms.startswith('кик') == True and event.user_id in admins:
  33.                 gtt = [int(i.split('|')[0][3:]) for i in ms.split(' ')
  34.                 if i != ms.split(' ')[0]]
  35.                 class kickt(Thread):
  36.                   def __init__(self, name):
  37.                     Thread.__init__(self)
  38.                     self.name = name
  39.                   def run(self):
  40.                     vk.messages.removeChatUser(
  41.                     chat_id = event.chat_id,
  42.                     member_id = gtt[int(self.name)])                                                                                                                    
  43.                     for i in range(len(gtt)):
  44.                      kicker = kickt(i)
  45.                      kicker.start()
  46.               if ms.startswith('мут') == True and event.user_id in admins:
  47.                 gtt = ms.split(' ')
  48.                 if gtt[1] != '':
  49.                   if event.chat_id in muted:
  50.                    if gtt[1].split('|')[0][3:] not in muted[event.chat_id]:
  51.                     muted[event.chat_id].append(gtt[1].split('|')[0][3:])
  52.                     vk.messages.send(
  53.                     chat_id = event.chat_id,
  54.                     message = '[id' + gtt[1].split('|')[0][3:] + '|Пользователь] получил мут.',
  55.                     random_id = 0)
  56.                    else:
  57.                     muted[event.chat_id].remove(gtt[1].split('|')[0][3:])
  58.                     vk.messages.send(
  59.                     chat_id = event.chat_id,
  60.                     message = 'С [id' + gtt[1].split('|')[0][3:] + '|пользователя] снят мут.',
  61.                     random_id = 0)
  62.                   else:
  63.                    muted[event.chat_id] = ['0']
  64.                    if gtt[1].split('|')[0][3:] not in muted[event.chat_id]:
  65.                     muted[event.chat_id].append(gtt[1].split('|')[0][3:])
  66.                     vk.messages.send(
  67.                     chat_id = event.chat_id,
  68.                     message = '[id' + gtt[1].split('|')[0][3:] + '|Пользователь] получил мут.',
  69.                     random_id = 0)
  70.                    else:
  71.                     muted[event.chat_id].remove(gtt[1].split('|')[0][3:])
  72.                     vk.messages.send(
  73.                     chat_id = event.chat_id,
  74.                     message = 'С [id' + gtt[1].split('|')[0][3:] + '|пользователя] снят мут.',
  75.                     random_id = 0)
  76.               elif ms.startswith('мат наказание') == True and event.user_id in admins:
  77.                 gtt = ms.split(' ')
  78.                 if gtt[2] == "удалить":
  79.                   matidel[event.chat_id] = 1
  80.                   vk.messages.send(
  81.                   chat_id = event.chat_id,
  82.                   message = "Теперь маты будут удаляться",
  83.                   random_id = 0)
  84.                 elif gtt[2] == "пред":
  85.                   matiwarn[event.chat_id] = 1
  86.                   vk.messages.send(
  87.                   chat_id = event.chat_id,
  88.                   message = "Теперь за маты будут выдаваться предупреждения",
  89.                   random_id = 0)
  90.                 elif gtt[2] == "ничего":
  91.                   matiwarn[event.chat_id] = 0
  92.                   matidel[event.chat_id] = 0
  93.                   vk.messages.send(
  94.                   chat_id = event.chat_id,
  95.                   message = "Теперь маты будут игнорироваться.",
  96.                   random_id = 0)
  97.                 else:
  98.                   vk.messages.send(
  99.                   chat_id = event.chat_id,
  100.                   message = "Ничего не понял",
  101.                   random_id = 0)
  102.               elif ms.startswith('пред') == True and event.user_id in admins:
  103.                 gtt = ms.split(' ')
  104.                 key = int()
  105.                 if gtt[1] != '':
  106.                    key = int(gtt[1].split('|')[0][3:])
  107.                 elif otv != 0:
  108.                    key = otv
  109.                 else:
  110.                    continue                                                                                                                                            
  111.                 if event.chat_id not in warnlist:
  112.                     warnlist[event.chat_id] = {0: 0}
  113.                 if key in warnlist[event.chat_id]:
  114.                    warnlist[event.chat_id][key] += 1
  115.                 else:
  116.                    warnlist[event.chat_id][key] = 1
  117.                 if warnlist[event.chat_id][key] == limit:
  118.                    warnlist[event.chat_id][key] = 0
  119.                    vk.messages.removeChatUser(
  120.                    chat_id = event.chat_id,
  121.                    member_id = key)
  122.                    vk.messages.send(
  123.                    chat_id = event.chat_id,
  124.                    message = '[id' + str(key) + '|Пользователь] был исключён по достижению лимита предов (' + str(limit) + ').',
  125.                    random_id = 0)
  126.                 else:
  127.                    vk.messages.send(                                                                                                                                      
  128.                      chat_id = event.chat_id,
  129.                    message = '[id' + str(key) + '|Пользователь] получил ' + str(warnlist[event.chat_id][key]) + '/3 предупреждений',
  130.                    random_id = 0)
  131.               elif ms.startswith('разпред') == True and event.user_id in admins:
  132.                 gtt = ms.split(' ')
  133.                 key = int()
  134.                 if gtt[1] != '':
  135.                       key = int(gtt[1].split('|')[0][3:])
  136.                 elif otv != 0:
  137.                       key = otv
  138.                 else:
  139.                       continue
  140.                 if event.chat_id in warnlist and key in warnlist[event.chat_id]:
  141.                    warnlist[event.chat_id][key] = 0
  142.                    vk.messages.send(
  143.                    chat_id = event.chat_id,
  144.                    message = "С [id" + str(key) + "|пользователя] сняты все предупреждения.",
  145.                    random_id = 0)
  146.               if event.chat_id in muted:
  147.                if str(event.user_id) in muted[event.chat_id]:
  148.                 vk.messages.delete(
  149.                 message_ids = event.message_id,
  150.                 delete_for_all = 1)
  151.               prov = [True if i in ms else False for i in mati]
  152.               if True in prov:
  153.                 if event.chat_id in matidel:
  154.                  if matidel[event.chat_id] == 1:
  155.                   vk.messages.delete(
  156.                   message_ids = event.message_id,
  157.                   delete_for_all = 1)
  158.                 if event.chat_id in matiwarn:
  159.                  if matiwarn[event.chat_id] == 1:
  160.                   if event.chat_id not in warnlist:
  161.                    warnlist[event.chat_id] = {0: 0}
  162.                   if event.user_id in warnlist[event.chat_id]:
  163.                    warnlist[event.chat_id][event.user_id] += 1
  164.                   else:
  165.                    warnlist[event.chat_id][event.user_id] = 1
  166.                   if warnlist[event.chat_id][event.user_id] == limit:
  167.                    warnlist[event.chat_id][event.user_id] = 0
  168.                    vk.messages.removeChatUser(                                                                                                                            
  169.                      chat_id = event.chat_id,
  170.                    member_id = event.user_id)
  171.                    vk.messages.send(
  172.                    chat_id = event.chat_id,
  173.                    message = '[id' + str(event.user_id) + '|Пользователь] был исключён по достижению лимита предов (' + str(limit) + ').',
  174.                    random_id = 0)                                                                                                                                        
  175.                 else:                                                                                                                                                    
  176.                       vk.messages.send(
  177.                    chat_id = event.chat_id,
  178.                    message = '[id' + str(event.user_id) + '|Пользователь] получил ' + str(warnlist[event.chat_id][event.user_id]) + '/3 предупреждений',
  179.                    random_id = 0)                                                                                                                                  
  180.             except:
  181.               pass
  182. def main2():
  183.         try:
  184.             main()
  185.         except vk_api.exceptions.Captcha:
  186.             time.sleep(30)
  187.             main2()
  188.         except requests.exceptions.ConnectionError:
  189.             time.sleep(2)
  190.             main2()
  191.         except vk_api.exceptions.ApiError as v:
  192.             time.sleep(2)
  193.             main2()
  194.         except requests.exceptions.ReadTimeout:
  195.             time.sleep(2)
  196.             main2()
  197. if __name__ == '__main__':
  198.     main2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement