Здравствуйте! Хочу понять, что не так. Хотел сделать бота "антивирус", он отправляет файл на Virustotal и получает результат оттуда! Работаю с их API -
https://developers.virustotal.com/reference#api-re...
Но, при попытке вернуть результаты сканирования получаю код ошибки 405.
Мой код:
import telebot
import requests
import json
vt_url = "https://www.virustotal.com/vtapi/v2/file/scan"
parameters = {"apikey": ""}
bot = telebot.TeleBot("")
keyboard = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard.row("Проверить файл")
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Привет! Этот бот поможет тебе проверить файл на вирусы!", reply_markup=keyboard)
@bot.message_handler(func=lambda message: message.text.lower() == "проверить файл", content_types = ['document', 'text'])
def send_file(message):
bot_message = bot.send_message(message.chat.id, "Отправьте файл для проверки!")
bot.register_next_step_handler(bot_message, check_file)
def check_file(message):
file_info = bot.get_file(message.document.file_id)
downloaded_file = bot.download_file(file_info.file_path)
src = 'C:/Users/Test/Desktop/test/test/' + message.document.file_name
with open(src, 'wb') as new_file:
new_file.write(downloaded_file)
files = {'file': (f'{message.document.file_name}', open(f'{message.document.file_name}', 'rb'))}
response = requests.post(vt_url, files=files, params=parameters)
if response.status_code == 200:
result = response.json()
file_id = result.get('scan_id')
params = {'apikey': '3c2593f315cf033afa5f40832d9770dfec033319c966b4c17f01cdb160c08584', 'resource': f'{file_id}'}
response = requests.get(vt_url, params=params)
if response.status_code == 200:
print(response.json())
else:
print(response.status_code)
bot.polling(none_stop=True)
Хотелось бы понять, что её возбуждает, и как это решить. Заранее спасибо!