- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
import datetime, random, time, os, vk_api
import sqlite3 as sl
from vk_api.exceptions import Captcha
from vk_api.longpoll import VkEventType, VkLongPoll
from functions import *
from settings import *
vk_session = vk_api.VkApi(token=token, api_version=5.126)
longpoll = VkLongPoll(vk_session)
vk = vk_session.get_api()
now = datetime.datetime.now()
for event in longpoll.listen():
try:
def send_msg(msg='', chat=False, prefix=True, attach=''):
if chat:
vk.messages.send(chat_id=event.chat_id,message=msg,attachment=attach)
else:
vk.messages.send(user_id=event.user_id,message=msg,attachment=attach)
except Captcha:
time.sleep(1)
send_msg('Ошибка. Слишком частые запросы.')
except Exception as e:
time.sleep(1)
send_msg(f'Неизвестная ошибка при отправке сообщения.\n{e}')
try:
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
user_get = vk.users.get(user_ids=event.user_id)
first_name = user_get[0]['first_name']
last_name = user_get[0]['last_name']
if event.from_chat and event.chat_id and (event.message == '!meme' or event.message == '!мем'):
meme_create()
upload = vk_api.VkUpload(vk_session)
try:
a = upload.photo_messages(photos=os.path.dirname(__file__) + '/random_meme.jpg', peer_id=event.user_id)
send_msg(attach=f'photo{a[0]["owner_id"]}_{a[0]["id"]}',chat=True, prefix=False)
except:
send_msg("Ошибка. Попробуйте снова.")
elif event.from_chat and event.chat_id and (event.message == '!info' or event.message == '!инфо'):
response = requests.get(f'https://vk.com/foaf.php?id={event.user_id}')
soup = BeautifulSoup(response.text, 'lxml')
created = soup.find('ya:created').get('dc:date')
created1 = datetime.datetime.strptime(created, '%Y-%m-%dT%H:%M:%S%z').replace(tzinfo=None)
diff = datetime.datetime.now()-created1
modified = soup.find('ya:modified').get('dc:date')
modified1 = datetime.datetime.strptime(modified, '%Y-%m-%dT%H:%M:%S%z').replace(tzinfo=None)
send_msg(f'''https://vk.com/id{event.user_id}\nИмя пользователя: {first_name} {last_name}\nАккаунт существует {diff.days} дней.\nДата регистрации: {created1.month} {months[created1.month-1]} {created1.year} в {created1.time()}\nПоследнее обновление информации: {modified1.month} {months[modified1.month-1]} {modified1.year} в {modified1.time()}''', chat=True)
elif event.from_user and event.user_id and (event.message == '!info' or event.message == '!инфо'):
response = requests.get(f'https://vk.com/foaf.php?id={event.user_id}')
soup = BeautifulSoup(response.text, 'lxml')
created = soup.find('ya:created').get('dc:date')
created1 = datetime.datetime.strptime(created, '%Y-%m-%dT%H:%M:%S%z').replace(tzinfo=None)
diff = datetime.datetime.now()-created1
modified = soup.find('ya:modified').get('dc:date')
modified1 = datetime.datetime.strptime(modified, '%Y-%m-%dT%H:%M:%S%z').replace(tzinfo=None)
send_msg(f'''https://vk.com/id{event.user_id}\nИмя пользователя: {first_name} {last_name}\nАккаунт существует {diff.days} дней.\nДата регистрации: {created1.month} {months[created1.month-1]} {created1.year} в {created1.time()}\nПоследнее обновление информации: {modified1.month} {months[modified1.month-1]} {modified1.year} в {modified1.time()}''')
elif event.from_user and event.user_id and event.message == '!coin':
coin = 'Орёл' if random.randint(0, 1) == 1 else 'Решка'
send_msg(f'{coin}')
elif event.from_user and event.user_id and (event.message == '!anek' or event.message == '!анек'):
send_msg(f'{get_anek()}', prefix=False)
elif event.from_user and event.user_id:
con = sl.connect(os.path.dirname(__file__) + '/users.db')
count = 0
with con:
con.execute("""
CREATE TABLE IF NOT EXISTS USER (
user_id INTEGER NOT NULL PRIMARY KEY,
name TEXT,
permission_lvl INTEGER
);
""")
with con:
data = con.execute("SELECT * FROM USER")
for row in data:
if event.user_id in row:
count += 1
if count == 0:
send_msg(f'''Привет, это сообщение отправлено автоматически.\nПока я добавляю информацию о тебе в базу данных, ты можешь ознакомиться с командами написав !help\nКоманд не так много, но в будущем их станет больше ;)''')
sql = 'INSERT INTO USER (user_id, name, permission_lvl) values(?, ?, ?)'
data = [(event.user_id, f'{first_name} {last_name}', 1)]
with con:
con.executemany(sql, data)
if event.attachments:
print(
f"{now}\nuser_id: {event.user_id} | {first_name} {last_name}\nmessage: {event.message}\nattach: {event.attachments}\n")
else:
print(
f"{now}\nuser_id: {event.user_id} | {first_name} {last_name}\nmessage: {event.text}\n")
except Captcha:
time.sleep(1)
send_msg('Ошибка. Слишком частые запросы.')
except Exception as e:
time.sleep(1)
send_msg(f'Упс. Произошла неизвестная ошибка.\n{e}')
prefix-not 10.02.2021 11:49 # 0
JloJle4Ka 10.02.2021 12:42 # 0
guest6 10.02.2021 13:04 # 0
3oJIoTou_xyu 10.02.2021 13:05 # 0
BJlADuMuPCKuu_nemxy 10.02.2021 13:06 # 0
3oJIoTou_xyu 10.02.2021 13:37 # 0
Stallman 10.02.2021 13:02 # +2
Ну очевидно же, как улучшить. Добавлять новые команды до тех пор, пока не придёт озарение.
TupoyChel 10.02.2021 14:09 # 0
bootcamp_dropout 10.02.2021 15:40 # +1
bormand 10.02.2021 15:50 # +1
bootcamp_dropout 10.02.2021 16:01 # 0
а зачем это кстати? это же не пропустит кадр ивент лупа? Там вообще есть ивент луп?
bormand 10.02.2021 16:03 # 0
А задержка нужна чтобы ВК не забанил за спам, видимо.
bootcamp_dropout 10.02.2021 16:07 # 0
TupoyChel 10.02.2021 17:06 # 0
Я просто немного новичок, стараюсь как могу
JloJle4Ka 10.02.2021 17:40 # 0
bormand 10.02.2021 18:08 # 0
JloJle4Ka 10.02.2021 18:12 # 0
Для йажи что-то официальное есть:
https://vk.com/dev/Java_SDK
А для питона, кажется, нету )))
Desktop 10.02.2021 18:15 # 0
JloJle4Ka 10.02.2021 18:18 # 0
«SDK упрощает использование API ВКонтакте в Android-приложениях. Пользователи смогут пройти авторизацию без ввода логина и пароля. После этого вы сможете сразу начать использовать методы API»
https://vk.com/dev/android_sdk
А ещё есть для ПХП и йажаскрипта.
vistefan 10.02.2021 19:35 # 0
//Create service actor
Integer appId = 4123123;
String accessToken = "sadf0asfsadfas";
ServiceActor actor = new ServiceActor(appId, accessToken);
Я думал, может для говна под названием mail agent использовалась javaSDK, хуй ведь знает, на чем он написан? Стал гуглить, и увидел это:
https://agent.mail.ru/linux
> Агент для Linux
>Удобство работы и ничего лишнего.
> Linux 16.04 и новее
Это ж охуенно. Linux 16.04!
bormand 10.02.2021 22:01 # 0
Чуваки из будущего, наверное. У меня пока пятый.
vistefan 11.02.2021 01:26 # 0
Вы, кстати, вообще, осознаёте, какой пирдолинг стоит при желании делать саунд-продакшен под линуксом? И какой при этом флоу, когда всё отконфижено нормально?
Desktop 11.02.2021 01:48 # +2
bormand 11.02.2021 14:08 # 0
Примерно. Мне подключения пианинки к lmms хватило: по-умолчанию такой охуенный пердёж, дисторшен и лаги, что можно просто ебашить и не париться с эффектами.
3oJIoTou_xyu 11.02.2021 14:15 # 0
bormand 11.02.2021 14:20 # 0
Не забывай про пшшшпшшшаудио от поттеринга, которое сейчас во всех дистрибах по-умолчанию.
3oJIoTou_xyu 11.02.2021 14:23 # 0
Я конечно не ыксперд, но если верить заявлениям пердоликам что можно все поменять в леньке. А в винде как всегда сосни.
bormand 11.02.2021 14:37 # 0
Угу. Приходишь ты в магазин за гитарой, а тебе продают лопату. Ахуенный инструмент, бери не пожалеешь, надо всего лишь струны прикрутить и звукосниматель. Ну и древко доработать напильником рубанком.
Вся суть линукса.
3oJIoTou_xyu 11.02.2021 14:40 # 0
Desktop 11.02.2021 14:45 # 0
Вон теннисные ракетки, начиная со среднего ценового уровня, вообще продаются без струн, потому что типа ты всё равно будешь нормальные ставить
3oJIoTou_xyu 11.02.2021 14:53 # 0
А покупать гитару ради куска дерева - ебанутсво чтоли. Нахуя и зачем тебе это зубочистка и зачем с этим говном тебе пердолится, когда можно было заведомо купить нормальную гитару с нормальными звукоснимателями.
Desktop 11.02.2021 15:05 # 0
Но я не гитарист, только рядом стоял
3oJIoTou_xyu 11.02.2021 15:12 # 0
Я тоже не джитарист но джитару имею и даже могу 1 струну дергать, вот это блядь скилл!
И это на стоковых cort x6 звукоснимателях за 5 гривен. Ну да ладно, у каждого свой долбоебизм и свои заморочки на тему "прекрасного" и "идеального".
Desktop 11.02.2021 15:06 # 0
3oJIoTou_xyu 11.02.2021 14:49 # 0
Приходишь ты в магазин за гитарой, а тебе продают УШМ. Ахуенный инструмент, бери не пожалеешь, надо всего лишь купить димер и защитный кожух, и рубанок на скочь прилепить. А Самое главное УНИВЕРСАЛЬНЫЙ!
bormand 11.02.2021 15:07 # 0
3oJIoTou_xyu 11.02.2021 15:14 # 0
Desktop 11.02.2021 15:31 # 0
vistefan 11.02.2021 15:49 # 0
Ну я вот знаю чувака, у которого в макоси музыка "типа" без пердолинга, но фактически там просто весь пердолинг перемещён в ёблю с пираченными софтами (не покупать же их в самом деле, тем более что для нормального продакшена их нужно штук шесть).
vistefan 11.02.2021 15:44 # 0
Вся суть винды.
Desktop 11.02.2021 15:51 # 0
TOPT 11.02.2021 17:13 # +1
TOPT 11.02.2021 17:15 # 0
Desktop 11.02.2021 17:28 # 0
в остальном сложно не согласиться
guest6 11.02.2021 21:09 # +3
vistefan 11.02.2021 23:02 # 0
bormand 12.02.2021 12:41 # +1
Это и на винде может быть киллер-фичей. Просто надо позиционировать такой софт под правильную ЦА. Любителей попердолиться и попревозмогать невозможное там хватает. Вспомни, как народ ебашит всякие моды к игрушкам, у которых даже API публичного то нету, не то что исходников.
А философия она всё-таки не у осей, а у людей. И чем популярнее ось, тем больше людей с различной философией тусуется вокруг них.
vistefan 12.02.2021 13:45 # 0
Desktop 12.02.2021 13:54 # 0
какая философия у винды? у лялиха? у фрибисди? у полуоси?
bormand 12.02.2021 14:25 # 0
Да нету её. У нишевых дистрибов или какого-нибудь эппла может и есть какое-то консистентное видение, а у остальных с годами всё размылось. Философия -- это круто, конечно, но юзеров и разрабов то хочется привлечь.
Desktop 12.02.2021 14:32 # 0
- я десять лет пользуюсь макосью, имхо самыми большими изменениями были отказ от x32, что принесло обычному юзеру только геморрой, и плоский дизайн, спижженный у мс
bormand 12.02.2021 14:42 # 0
Кстати, а нахуя? Неужели мешок 32-битных либ и переходник с 32-битного API на 64-битное так дорого обходится в поддержке? Все остальные вроде смирились с этим костылём.
Ну и если уж хочется зафорсить миграцию, почему бы не запретить 32-битность только для нового софта?
Desktop 12.02.2021 14:44 # 0
решили унифицировать. но у эппла вроде современных железок на тридцати двух битах и не осталось давным давно
bormand 12.02.2021 14:46 # 0
Да 32-битных железок и на ПК то не осталось. Я про 32-битный софт.
Я представляю, какая боль в жопе там была у разрабов, которые до последнего сидели на 32 и забивали на 64, а потом эппл им сказал: "идите нахуй из моего стора пока не портанёте".
bormand 12.02.2021 14:48 # 0
Desktop 12.02.2021 14:52 # 0
Desktop 12.02.2021 14:48 # +1
- ну тут надо отдать должное, за пару версий до Каталины при запуске 32-битного софта появлялось предупреждающее окошко. так что софт, который не был заброшен, должны были успеть обновить.
правда, официальный wine до сих пор на новых макосях не работает, какая жалость
3oJIoTou_xyu 13.02.2021 08:17 # 0
bormand 12.02.2021 13:57 # +1
Как-то так. Кто-то юзает потому что тыщу серваков поднять выходит дешевле чем на венде, кто-то юзает потому что подпилить легче чем проприетарщину, кто-то юзает потому что идеология RMS'а нравится. У всех свои тараканы.
Даже у RMS и Линуса философия разная, вспомни их спор о GPLv3.
З.Ы. Ну и с развитием ОС она становится интересна каким-то другим группам и они начинают тащить одеяло на себя.
vistefan 11.02.2021 15:47 # 0
TOPT 11.02.2021 17:16 # 0
Какой еблан будет себе мамаку покупать Раде хорошей интегрированной ЦАП/АЦП?
P.s. у меня аппаратное почему то ассоциируется со встроенным
j123123 11.02.2021 03:27 # 0
16.04 - похоже на версию убунты.
Ubuntu 16.04 LTS «Xenial Xerus»
Fike 11.02.2021 05:04 # 0
vistefan 11.02.2021 13:43 # 0
vistefan 11.02.2021 13:42 # 0
Самое смешное, что Ubuntu is not Linux
Xepyc_DJIuHyc 11.02.2021 13:44 # +2
vistefan 11.02.2021 13:52 # 0
3oJIoTou_xyu 11.02.2021 13:53 # 0
vistefan 11.02.2021 13:53 # 0
3oJIoTou_xyu 11.02.2021 14:02 # +2
TupoyChel 10.02.2021 22:58 # 0
Desktop 10.02.2021 17:44 # 0
JloJle4Ka 10.02.2021 17:56 # 0
guest6 10.02.2021 17:58 # 0
JloJle4Ka 10.02.2021 18:02 # +1
Кстати, смотри какой смайлик-петузок:
&(:4)<
Desktop 10.02.2021 18:04 # 0
JloJle4Ka 10.02.2021 18:09 # +1
Fike 10.02.2021 18:38 # +2
vistefan 10.02.2021 19:22 # +1
inkanus-gray 05.08.2023 07:35 # 0
guest6 14.09.2023 21:57 # 0
Stallman 10.02.2021 22:54 # 0
JloJle4Ka 11.02.2021 04:03 # 0
Stallman 11.02.2021 12:48 # 0
Desktop 11.02.2021 13:08 # 0
guest6 04.08.2023 21:14 # 0
guest6 05.08.2023 02:01 # 0
guest6 05.08.2023 05:47 # 0
guest6 05.08.2023 21:47 # 0
Громко фер теть
guest6 05.08.2023 22:17 # 0
ISO 05.08.2023 22:47 # 0
inkanus-gray 05.08.2023 07:32 # 0
TupoyChel 10.02.2021 22:56 # 0
ISO 04.08.2023 20:49 # 0
Очень показательно, что даже полный нуб, используя язык программирования, отличный от «PHP», смог сделать параметризованный SQL-запрос и не обосраться с «инъекцией».
guest6 05.08.2023 02:00 # 0
guest6 05.08.2023 02:08 # 0
guest6 05.08.2023 02:35 # 0