Совместимость Кометы с современной технологией

Две вещи неверны:

В операторе return, который вы использовали в коде, есть проблема. return выходит из подпрограммы, поэтому строка bot.send_message(bot.get_channel("534496148149370900"), mesg) фактически никогда не вызывается. Таким образом, ваш код должен измениться на что-то вроде этого:

#---Report Command---#
@bot.command(pass_context=True)
async def report(ctx,  reportedTag, reporterTag, *reasons):

if int(ctx.message.channel.id) == 416164062901305345:
    reason = ' '.join(reasons)
    await bot.delete_message(ctx.message)   
    mesg = "Report by "+ reporterTag +  " for " + reportedTag + "Reason is: " + reason
    await bot.send_message(bot.get_channel("534496148149370900"), mesg)
    return await bot.say("Report recieved. Staff have been notified :)\nEnjoy your day and we'll take care of this")
else:
    print ("Something went wrong") 

Кроме того, если «Что-то пошло не так» на самом деле выводится , это означает, что int(ctx.message.channel.id) == 416164062901305345 ложно. Пожалуйста, проверьте ID и канал, на котором вы пишете.

5
задан Niyaz 7 February 2009 в 09:57
поделиться

3 ответа

Это является сформировавшимся, хотя я думаю, что необходимо считать это большим количеством техники, чем технология.

Все веб-серверы поддерживают его насколько я знаю, хотя необходимо будет исследовать и настроить конкретный веб-сервер, если Вы создадите приложение кометы, поскольку требования к ресурсам несколько отличаются. А именно, будет намного больше одновременных открытых соединений с Вашим сервером. С точки зрения поддержки языка программирования, если Ваш предпочтительный язык сервера имеет какой-либо вид механизма блокирования или ожидания, можно поддерживать. Все браузеры поддерживают его также, как с точки зрения браузера, это - просто http (s) соединение, которое занимает много времени для возврата.

Существует несколько недостатков в мире браузера, самым большим является, вероятно, то, что некоторые браузеры ограничивают количество открытых соединений с определенным URL к два. Таким образом, если у Вас есть соединение блокирования сервера открытое ожидание некоторых продвинутых данных, Вы только до одного соединения, доступного для браузера для получения данных из сервера. Это может быть смягчено путем распространения ресурсов по нескольким вторым доменам уровня, чтобы позволить браузеру открывать больше соединений.

5
ответ дан 14 December 2019 в 04:49
поделиться

Комета на самом деле использовалась перед всей шумихой о запущенном Ajax: это - просто новое название старой идеи. Люди использовали скрытый iframes для эмуляции сервера, требующего в течение долгого времени без проблем.

1
ответ дан 14 December 2019 в 04:49
поделиться

«Поддерживается всеми веб-серверами» - это несколько странное утверждение. Большинство реализаций являются серверами сами по себе, и вам нужно будет найти сервер, который будет интегрирован с языком, который вы хотите использовать.

Тем не менее, я работаю в компании, которая построила его для интеграции с сервером, в частности, IIS.

Если вы не хотите беспокоиться об интеграции сервера (работа с разными языками, обработка масштабирования и т. Д.) , ознакомьтесь с websync - сервис позволяет легко интегрировать любой язык, поскольку он размещен, но поддерживает проксирование запросов через ваш собственный сервер, чтобы вы могли добавить свою собственную бизнес-логику, ведение журналов, разрешение и т. д.

2
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: