Advertisement
YT_o4ka

Untitled

May 11th, 2022
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. import random
  2. import threading
  3. import time
  4. import datetime
  5. import asyncio
  6. import traceback
  7. import vk_api
  8.  
  9. from threading import Thread
  10.  
  11.  
  12. from vk_api.longpoll import VkLongPoll, VkEventType
  13. from vk_api.utils import get_random_id
  14.  
  15. def main(vkToken, myId, triggerWord):
  16. while True:
  17. try:
  18. vk_session = vk_api.VkApi(token=vkToken)
  19. longpoll = VkLongPoll(vk_session)
  20. vk = vk_session.get_api()
  21.  
  22. toDeleteCount = None
  23. toDelete = []
  24.  
  25. def delete():
  26. try:
  27. vk.messages.delete(message_ids=str(toDelete),
  28. delete_for_all=1)
  29. except vk_api.exceptions.ApiError:
  30. vk.messages.delete(message_ids=str(toDelete), delete_for_all=0)
  31. toDelete.clear()
  32.  
  33.  
  34. async def msgDelete():
  35. for n in vk.messages.getHistory(peer_id=event.peer_id, count=200).get('items'):
  36. if n['from_id'] == myId and len(toDelete) < toDeleteCount:
  37. toDelete.append(n['id'])
  38. toDelete.append(event.message_id)
  39. delete()
  40.  
  41. async def msgReplaceDelete():
  42. for n in vk.messages.getHistory(peer_id=event.peer_id, count=200).get('items'):
  43. if n['from_id'] == myId and len(toDelete) < toDeleteCount:
  44. toDelete.append(n['id'])
  45. toDelete.append(event.message_id)
  46. for h in toDelete[::-1]:
  47. if not h == event.message_id:
  48. try:
  49. vk.messages.edit(peer_id=event.peer_id, message_id=h, message='&#8300;')
  50. except vk_api.exceptions.Captcha:
  51. break
  52. except vk_api.exceptions.ApiError:
  53. pass
  54. delete()
  55.  
  56. for event in longpoll.listen():
  57. if event.type == VkEventType.MESSAGE_NEW and event.text.lower().startswith(triggerWord) and event.from_me and len(
  58. event.text.split()) is 1:
  59. if len(event.text) > len(triggerWord):
  60. if event.text[len(triggerWord):] is '1':
  61. toDeleteCount = 2
  62. asyncio.run(msgDelete())
  63. else:
  64. if event.text[len(triggerWord):].isdigit() is True:
  65. toDeleteCount = int(event.text[len(triggerWord):]) + 1
  66. asyncio.run(msgDelete())
  67. else:
  68. toDeleteCount = 2
  69. asyncio.run(msgDelete())
  70. if event.type == VkEventType.MESSAGE_NEW and event.text.lower().startswith(triggerWord + '-') and event.from_me \
  71. and len(event.text.split()) is 1:
  72. if len(event.text) > (len(triggerWord) + 1):
  73. if event.text[(len(triggerWord) + 1):] is '1':
  74. toDeleteCount = 2
  75. asyncio.run(msgReplaceDelete())
  76. else:
  77. if event.text[(len(triggerWord) + 1):].isdigit() is True:
  78. toDeleteCount = int(event.text[(len(triggerWord) + 1):]) + 1
  79. asyncio.run(msgReplaceDelete())
  80. else:
  81. toDeleteCount = 2
  82. asyncio.run(msgReplaceDelete())
  83. if event.type == VkEventType.MESSAGE_NEW and event.text.lower().endswith('//') and event.from_me:
  84. toDeleteCount = 1
  85. asyncio.run(msgReplaceDelete())
  86.  
  87. # elif event.type == VkEventType.MESSAGE_NEW and event.text.lower().endswith('//') and event.from_me:
  88. # toDeleteCount = 1
  89. # asyncio.run(msgDelete())
  90. except:
  91. print(traceback.format_exc())
  92. pass
  93.  
  94. Thread(target=main, args=('токен', ид , 'дд')).start()
  95. © 2022 GitHub, Inc.
  96. Terms
  97. Privacy
  98. Security
  99. Status
  100. Docs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement