Как добавить обнаружение контента AI в ваше приложение Node.js

Как добавить обнаружение контента AI в ваше приложение Node.js


Ключевые выводы

  • Около 100 строк Node.js позволяют вам работать с ИИ-распознаванием контента: отправить текст, дождаться отчета, прочитать оценку каждого предложения.
  • Обнаружение не происходит мгновенно, поэтому вам понадобится опрос или фоновое задание.
  • Покажите людям, какие предложения выглядят написанными с помощью искусственного интеллекта. Одинокий процент неправильно истолковывается.
  • Следите за лимитом скорости и счетом за слово. Оба ловят людей.
  • Не отклоняйте автоматически ничего на основании оценки. Детекторы ошибаются, и сильнее всего страдают писатели, не являющиеся носителями английского языка.

Запрос на функцию, который у вас, вероятно, уже был

Рано или поздно кто-то из вашей команды спросит об этом. Может быть, это менеджер по продукту, может быть, руководитель отдела контента, может быть, учитель, который только что отметил сорок почти одинаковых эссе: можем ли мы определить, когда люди вставляют выходные данные ChatGPT?

Короткий ответ: нет, не с уверенностью. Любой, кто обещает вам это, что-то продает.

Но ты может получите полезный сигнал и сможете показать его тем, кто на самом деле звонит: редакторам, преподавателям, модераторам. В этом руководстве вы создадите небольшое приложение Express, которое принимает текст, отправляет его в API-детектор AI, ожидает результата и выделяет предложения, которые выглядят машинно написанными.

Здесь я использую API Quetext AI Detector. Он оценивает каждое предложение, а не только весь документ, и вы можете попробовать его без подписки. Однако большинство API обнаружения следуют одному и тому же шаблону отправки, опроса и выборки. Если вы позже смените провайдера, вы перепишете один файл.

Что вам понадобится

  • Node.js 18 или новее. Он имеет fetch встроен, поэтому для HTTP не нужно ничего дополнительно устанавливать.
  • Ключ API. Зарегистрируйтесь на Quetext и создайте его под Аккаунт › Ключи API. На момент написания этой статьи новые аккаунты начинаются с 5000 бесплатных слов, а после этого вы платите из предоплаченного кошелька по цене 0,10 доллара за 1000 слов.
  • Некоторый опыт Экспресса. Ничего особенного.

Настройте проект:

mkdir ai-check && cd ai-check
npm init -y
npm pkg set type=module
npm install express

Поместите ключ в переменную среды. Не запрограммируйте его жестко и не позволяйте ему находиться рядом с браузером.

export QUETEXT_API_KEY="your-key-here"

Как работает API

Вы сделаете три звонка. Анализ занимает несколько секунд, поэтому API выдает вам билет и заставляет вернуться за результатом. Держите документацию Quetext API открытой на другой вкладке, пока вы выполняете дальнейшие действия; они перечисляют каждую конечную точку, поле и код ошибки.

Вот короткая версия:

  • Отправить текст: POST /api/v2/ai-detect-reportвозвращает отчет id
  • Проверьте прогресс: GET /api/v2/report-progress/{id}возвращает progress от 0 до 1
  • Получите результаты: GET /api/v2/ai-detect-report/{id}возвращает ai_score, ai_summary, ai_matches[]

Каждый запрос отправляет ваш ключ в X-API-Key заголовок. Минимальный ввод — 50 слов, что звучит раздражающе, пока вы не поймете, что ни один детектор не может сказать ничего полезного о двухстрочном комментарии.

И запомните это число: 10 запросов каждые 5 секунд на аккаунт. Проверки прогресса учитываются. Если вы проигнорируете это, оно аукнется вам в производственном отделе.

Шаг 1. Миниатюрный API-клиент

Создавать quetext.js. Мне нравится хранить все, что касается конкретного поставщика, в одном файле, чтобы остальная часть приложения не знала, кто занимается обнаружением.


const BASE_URL = 'https://www.quetext.com/api/v2';
const API_KEY = process.env.QUETEXT_API_KEY;

if (!API_KEY) {
  throw new Error('QUETEXT_API_KEY is not set');
}

async function request(path, options = {}) {
  const res = await fetch(`${BASE_URL}${path}`, {
    ...options,
    headers: {
      'Content-Type': 'application/json',
      Accept: 'application/json',
      'X-API-Key': API_KEY,
    },
  });

  const body = await res.json().catch(() => ({}));

  if (!res.ok) {
    const err = new Error(`Detector API error: HTTP ${res.status}`);
    err.status = res.status;
    err.data = body.data;
    throw err;
  }

  return body.data;
}

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

export async function submitAiCheck(text, title) {
  const { id } = await request('/ai-detect-report', {
    method: 'POST',
    body: JSON.stringify({ text, title }),
  });
  return id;
}

export async function waitForReport(id, { intervalMs = 2500, timeoutMs = 60_000 } = {}) {
  const deadline = Date.now() + timeoutMs;

  while (Date.now() < deadline) {
    const data = await request(`/report-progress/${id}`);

    if (data.message) throw new Error(data.message); 
    if (data.progress >= 1) return;

    await sleep(intervalMs);
  }

  throw new Error(`Report ${id} did not finish within ${timeoutMs / 1000}s`);
}

export async function getAiReport(id) {
  return request(`/ai-detect-report/${id}`);
}

Там три решения, каждое из которых стоит приговора:

Ошибки сохраняют свой код состояния HTTP. Код 402 означает, что у вас закончился кредит, а код 429 означает, что вы проводите опрос слишком быстро, и вам следует обращаться с ними иначе, чем с «что-то сломалось».

Он опрашивает каждые 2,5 секунды, потому что в документах Quetext указано от 2 до 3. Более быстрый опрос не ускорит создание отчета. Вы просто перебьете лимит скорости.

И тут тяжелый тайм-аут. Оставьте это, и один застрявший отчет может навсегда заблокировать запрос. Это ужасная ошибка, которую нужно отследить в 23:00.

Шаг 2. Конечная точка Express

Следующий, server.js. Он проверяет ввод, выполняет три вызова и выдает интерфейсу простой ответ, в котором Quetext нигде не упоминается.


import express from 'express';
import { submitAiCheck, waitForReport, getAiReport } from './quetext.js';

const app = express();
app.use(express.json({ limit: '1mb' }));
app.use(express.static('public'));

const countWords = (text) => text.split(/\s+/).filter(Boolean).length;

app.post('/api/check', async (req, res) => {
  const text = String(req.body.text ?? '').trim();

  if (countWords(text) < 50) {
    return res.status(400).json({ error: 'Please submit at least 50 words.' });
  }

  try {
    const id = await submitAiCheck(text);
    await waitForReport(id);
    const report = await getAiReport(id);

    res.json({
      score: report.ai_score === null ? null : Number.parseFloat(report.ai_score),
      summary: report.ai_summary,
      sentences: report.ai_matches.map((m) => ({
        text: m.sentence,
        probability: m.generated_prob,
      })),
    });
  } catch (err) {
    if (err.status === 402) {
      return res.status(402).json({ error: 'The detection service is out of credit.' });
    }
    if (err.status === 429) {
      return res.status(429).json({ error: 'Too many checks right now. Try again shortly.' });
    }
    console.error(err);
    res.status(500).json({ error: 'The check failed. Please try again.' });
  }
});

app.listen(3000, () => console.log('Running on http://localhost:3000'));

Посмотрите на карту в конце. generated_prob становится probabilityи ai_score возвращается в виде строки типа "82.50"поэтому он анализируется в число. Это маленькая деталь. Но это означает, что ваш интерфейс никогда не узнает, с какими именами полей провайдера он имеет дело, и именно это делает замену провайдеров изменением одного файла.

Шаг 3: Выделите предложения

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

Таким образом, на странице отображается каждое предложение, раскрашенное в зависимости от того, насколько вероятно, что оно было сгенерировано ИИ. Создавать public/index.html:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>AI Content Check</title>
  <style>
    body { font: 16px/1.6 system-ui, sans-serif; max-width: 720px; margin: 2rem auto; padding: 0 1rem; }
    textarea { width: 100%; min-height: 200px; }
    .high { background: #fde2e1; }
    .medium { background: #fff4cc; }
  </style>
</head>
<body>
  <h1>AI Content Check</h1>
  <textarea id="input" placeholder="Paste at least 50 words..."></textarea>
  <button id="check">Check text</button>
  <p id="summary"></p>
  <div id="result"></div>

  <script>
    const button = document.querySelector('#check');
    const summary = document.querySelector('#summary');
    const result = document.querySelector('#result');

    button.addEventListener('click', async () => {
      button.disabled = true;
      summary.textContent = 'Checking... this usually takes a few seconds.';
      result.replaceChildren();

      try {
        const res = await fetch('/api/check', {
          method: 'POST',
          headers: { 'Content-Type': 'application/json' },
          body: JSON.stringify({ text: document.querySelector('#input').value }),
        });
        const data = await res.json();
        if (!res.ok) throw new Error(data.error);

        summary.textContent = `${data.score}% likely AI. ${data.summary}`;

        for (const s of data.sentences) {
          const span = document.createElement('span');
          span.textContent = s.text + ' ';
          if (s.probability >= 0.8) span.className = 'high';
          else if (s.probability >= 0.5) span.className = 'medium';
          span.title = `${Math.round(s.probability * 100)}% AI probability`;
          result.append(span);
        }
      } catch (err) {
        summary.textContent = err.message;
      } finally {
        button.disabled = false;
      }
    });
  </script>
</body>
</html>

Бегать node server.js и открыть http://localhost:3000. Попробуйте два примера: что-то, что вы написали сами, а затем необработанный ответ чат-бота на ту же тему. Видя, какие предложения загораются, вы узнаете больше о том, как работают эти детекторы, чем любая диаграмма, которую я мог бы нарисовать.

Быстрый пункт охраны. Эти предложения исходили от ваших пользователей, а затем прошли через внешний сервис. Относитесь к ним как к ненадежным. Вот почему код использует textContent и никогда innerHTMLкак рекомендует шпаргалка по предотвращению XSS OWASP.

Прежде чем отправить его

Демо-версия оставляет HTTP-запрос открытым во время опроса. Хорошо на вашем ноутбуке. Не устраивает реальный трафик.

Поместите проверки в фоновое задание

Отправьте текст, сохраните отчет id с pending статус и сразу же ответить. Рабочий (BullMQ, задание cron, бессерверная очередь, все, что вы уже используете) выполняет опрос и обновляет запись после завершения. Пользовательский интерфейс говорит «Проверка…», пока не появится результат.

Ограничение скорости является общим

Вот как все идет не так. Сегодня утро понедельника, 20 редакторов открывают свои очереди на рецензирование и нажимают «Проверить» примерно в одно и то же время. Каждый запрос опрашивается сам по себе, и в течение нескольких секунд вы набираете 429 по всем направлениям, поскольку ограничение 10 на 5 секунд распространяется на всю вашу учетную запись, а не на каждого пользователя.

Используйте одного исполнителя, который циклически обрабатывает каждый ожидающий отчет с небольшой паузой между вызовами. Проблема решена.

Проверяйте то, что важно, кэшируйте остальное

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

Добавьте еще проверку на плагиат

Обнаружение ИИ не обнаруживает копирование. Кто-то может дословно передать пост в блоге 2019 года, и он получит 0% AI, потому что его написал человек. Просто не этот человек. Если оригинальность имеет значение для вашего продукта, у одного и того же API есть конечные точки плагиата, которые работают точно так же. Документация API охватывает оба варианта.

Пожалуйста, не позволяйте счету решить

Разработчики пропускают эту часть. Это также та часть, которая заканчивается гневными обращениями в службу поддержки.

В 2023 году Лян и его коллеги из Стэнфорда прогнали эссе, написанные людьми, для которых английский язык не является родным (все люди, написанные для TOEFL), через семь детекторов искусственного интеллекта. В среднем детекторы пометили более 61% из них как созданные ИИ. Простая лексика и грамматика из учебника воспринимаются как «предсказуемые», а предсказуемость — это именно то, что ищут детекторы.

Представьте себе, что иностранный студент получает автоматический ноль, потому что так написано в сценарии. Вы не хотите быть человеком, который это построил.

Итак, создайте для обзора:

  • Используйте высокие баллы для перемещения элементов вверх по очереди модератора. Не используйте их, чтобы что-либо заблокировать.
  • Покажите рецензентам выделенные предложения, чтобы они могли оценить сам текст.
  • Позвольте пользователям отвечать, будь то загрузка черновиков или объяснение того, как они это написали.
  • Зарегистрируйте каждую оценку с ее идентификатором отчета, чтобы любое решение можно было проверить позже.

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

Часто задаваемые вопросы

Как работают API-интерфейсы детектора искусственного интеллекта?

Вы отправляете текст, сервис проверяет, насколько предсказуемым будет каждое предложение для языковой модели, и вы получаете вероятность того, что его написала машина. Большинство этих API являются асинхронными. Вы отправляете отчет, получаете идентификатор отчета, проводите опрос, пока он не будет готов, а затем получаете результат. Лучшие из них оценивают отдельные предложения, а также весь текст, что значительно упрощает создание разумного экрана обзора.

  • Планируйте отправку, опрос, выборку.
  • Оценки на уровне предложений превышают одно число.

Сколько текста мне нужно для точного результата обнаружения ИИ?

Больше, чем вы думаете. API Quetext не принимает менее 50 слов, и на практике оценки стабилизируются, как только вы превысите около 300. Название продукта или однострочный комментарий просто не дают детектору достаточно информации для продолжения работы. Для короткого контента либо сгруппируйте связанные части вместе, либо не утруждайте себя проверкой.

  • 50 слов — это минимум API.
  • Стремитесь к 300+ словам для стабильных результатов.

Должен ли я автоматически отклонять контент с высоким показателем AI?

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

  • Оценка начинает обзор. Это не заканчивается.
  • Держите человека в курсе.

Как избежать ошибок ограничения скорости при опросе API обнаружения AI?

Опрашивайте со скоростью, рекомендованной провайдером (каждые 2–3 секунды для Quetext), и помните, что эти опросы также учитываются в вашем лимите. Когда вы приступите к работе, переместите проверки в фоновую очередь и позвольте одному работнику опрашивать каждый ожидающий отчет, а не опрашивать каждый запрос пользователя отдельно. Когда вы получите код 429, подождите немного и повторите попытку.

  • Один работник должен выполнять весь опрос.
  • Отступите и повторите попытку на 429.

Безопасно ли вызывать API обнаружения ИИ из браузера?

Нет. Если браузер напрямую вызывает API, ваш ключ попадает в код внешнего интерфейса, где любой может скопировать его и потратить ваш кредит. Сохраните ключ в переменной среды на своем сервере и отправляйте запросы через свою конечную точку, как показано в этом руководстве. Это также дает вам возможность проверить длину входных данных, применить ограничения для каждого пользователя и кэшировать результаты, прежде чем платить за что-либо.

  • Храните ключ API на сервере.
  • Проверяйте и ограничивайте запросы в своем собственном бэкэнде.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

தீவிர சூறாவளி புயல் 'முரசு' சென்னையில் நாளை பள்ளிகளுக்கு விடுமுறை 'முரசு' புயல் குறித்த தகவல்கள் சென்னையில் நாளை பள்ளிகளுக்கு விடுமுறையா? வானிலை சென்னையில் நாளை விடுமுறையா? 'முரசு' புயல் வானிலை சென்னையில் புயல் 'முரசு' புயல் கண்காணிப்பு சென்னையின் வானிலை தெலுங்கானா சென்னை வானிலை புயல் கண்காணிப்பு செங்கல்பட்டில் இன்று பள்ளிகளுக்கு விடுமுறை சென்னையில் பள்ளிகளுக்கு விடுமுறை செங்கல்பட்டில் பள்ளிகளுக்கு விடுமுறை விஜயவாடா வானிலை வானிலை அறிக்கை 'முரசு' புயல் கண்காணிப்பு இன்றைய வானிலை அறிக்கை சென்னையில் நாளை பள்ளிகளுக்கு விடுமுறை சென்னை வானிலை சென்னையில் இன்று பள்ளிகளுக்கு விடுமுறையா? இன்றைய சென்னை வானிலை விமான சேவைகள் தமிழ் பக்தாகோர் (Pakhtakor) vs அல்-நாசர் (Al-Nassr) பக்தாகோர் எஃப்சி vs அல்-நாசர் எஃப்சி தரவரிசை ஏஎஃப்சி (AFC) சாம்பியன்ஸ் லீக் பக்தாகோர் எஃப்சி vs அல்-நாசர் எஃப்சி அணிகளின் விவரம் ஜோவா ஃபெலிக்ஸ் (João Félix) அல்-நாசர் எஃப்சி பக்தாகோர் எஃப்சி நியூ இங்கிலாந்து (New England) vs இன்டர் மியாமி (Inter Miami) நியூ இங்கிலாந்து ரெவல்யூஷன் vs இன்டர் மியாமி தரவரிசை எம்எல்எஸ் (MLS) இன்டர் மியாமி லியோனல் மெஸ்ஸி இன்டர் மியாமி சிஎஃப் இன்டர் மியாமி vs நியூ இங்கிலாந்து நியூ இங்கிலாந்து ரெவல்யூஷன் vs இன்டர் மியாமி அணிகளின் விவரம் மெஸ்ஸியின் மொத்த கோல்கள் நியூ இங்கிலாந்து ரெவல்யூஷன் vs இன்டர் மியாமி போட்டி நிகழ்வுகள் இன்டர் மியாமி போட்டிகள் நியூ இங்கிலாந்து ரெவல்யூஷன் நியூ இங்கிலாந்து ரெவல்யூஷன் vs இன்டர் மியாமி ஓமன் vs நெதர்லாந்து ஓமன் தேசிய கிரிக்கெட் அணி vs நெதர்லாந்து தேசிய கிரிக்கெட் அணி தரவரிசை ஓமன் vs நெதர்லாந்து ஓமன் தேசிய கிரிக்கெட் அணி vs நெதர்லாந்து தேசிய கிரிக்கெட் அணி போட்டி ஸ்கோர்கார்டு ஐசிசி (ICC) சிடபிள்யூசி (CWC) லீக் 2 ஓமன் தேசிய கிரிக்கெட் அணி vs நெதர்லாந்து தேசிய கிரிக்கெட் அணி தரவரிசை ஓமன் தேசிய கிரிக்கெட் அணி vs நெதர்லாந்து தேசிய கிரிக்கெட் அணி போட்டி ஸ்கோர்கார்டு நவம்பர் 2 - தங்கம் மற்றும் வெள்ளி விலை நிலவரம் வெள்ளி மற்றும் தங்கத்தின் விலைகள் தங்கம் குறித்த செய்திகள் இன்றைய தங்க விலை பெங்களூருவில் இன்றைய தங்க விலை ஹைதராபாத்தில் இன்றைய தங்க விலை கொல்கத்தாவில் இன்றைய தங்க விலை சென்னையில் இன்றைய தங்க விலை இன்றைய தங்கம் மற்றும் வெள்ளி விலை பெங்களூருவில் இன்றைய தங்க விலை சென்னையில் இன்றைய தங்க விலை இன்றைய தங்க விலை தனிஷ்க் (Tanishq) தங்க விலை வெள்ளி - எம்சிஎக்ஸ் (MCX) நேரலை விலை பெங்களூருவில் இன்றைய வெள்ளி விலை கோயம்புத்தூரில் இன்றைய தங்க விலை இன்றைய தங்கம் விலை தங்கத்தின் விலைகள் சென்னையில் இன்றைய தங்க விலை இன்றைய தங்க விலை இன்றைய வெள்ளி விலை MCX தங்கம் MCX தங்க விலை விலைமதிப்பற்ற உலோகம் மும்பையில் இன்றைய தங்க விலை ஹைதராபாத்தில் இன்றைய தங்க விலை டெல்லியில் இன்றைய தங்க விலை ஹைதராபாத்தில் இன்றைய தங்க விலை MCX தங்க விலை சென்னையில் தங்க விலை பெங்களூருவில் இன்றைய தங்க விலை MCX வெள்ளி விலை MCX மலபார் தங்க விலை இன்றைய MCX தங்க விலை இன்றைய 22 காரட் தங்க விலை இன்றைய 22K தங்க விலை நேரலை தங்க விலை இன்றைய 18 காரட் தங்க விலை கிமி அன்டோனெல்லி கிமி F1 தரவரிசை F1 F1-ன் மிக இளம் சாம்பியன் கிமி அன்டோனெல்லி ஃபார்முலா 1 F1 ஓட்டுநர் தரவரிசை F1 பந்தயம் F1 நேரலை F1 மெக்சிகோ கிராண்ட் பிரிக்ஸ் F1 2026 மேக்ஸ் வெர்ஸ்டாப்பன் F1 முடிவுகள் மெக்சிகோ கிராண்ட் பிரிக்ஸ் F1 மெக்சிகோ GP ரிலையன்ஸ் பங்கு விலை ரிலையன்ஸ் பங்கு ரிலையன்ஸ் RIL பங்கு விலை ரிலையன்ஸ் இண்டஸ்ட்ரீஸ் பங்கு விலை RIL பங்கு RIL பங்கு விலை உயர்வு குறித்த பகுப்பாய்வு ரிலையன்ஸ் இண்டஸ்ட்ரீஸ் பங்கு அனுஜ் தாக்கூர் நடிகர் அனுஜ் தாக்கூர் வலிப்பு (seizure) தூக்கம் விமானம் விபத்து புளோரிடா விமான விபத்து லியர்ஜெட் (Learjet) லியர்ஜெட் 60 வீடியோக்கள் புளோரிடா ஆஸ்டின் விபத்து இன்றைய செய்திகள் ரிமி டோமி லிபின் மேத்யூ - ரிமி டோமி ரிமி டோமி திருமணம் திருமணம் லிபின் மேத்யூ ரிமி டோமி டேலைட் சேவிங்ஸ் (Daylight Savings) 2026 டேலைட் சேவிங்ஸ் அமெரிக்காவில் டேலைட் சேவிங்ஸ் 2026 அமெரிக்காவில் டேலைட் சேவிங்ஸ் 2026 டேலைட் சேவிங்ஸ் அமெரிக்காவில் டேலைட் சேவிங்ஸ் 2026 ஷாருக்கான் பிறந்தநாள் ஷாருக்கான் ஷாருக்கான் பிறந்தநாள் கிங் (King) SRK பிறந்த தேதி சித்தார்த் ஆனந்த் SRK வயது ஷாருக் இந்தித் திரைப்படம் கேரள லாட்டரி முடிவுகள் கேரள லாட்டரி முடிவு இன்றைய கேரள லாட்டரி முடிவு இன்றைய பாக்யதாரா லாட்டரி முடிவு இன்றைய லாட்டரி முடிவு இன்றைய கேரள லாட்டரி முடிவு (நேரலை) இன்றைய கேரள லாட்டரி முடிவு இன்றைய கேரள லாட்டரி முடிவு (மதியம் 3 மணி) லாட்டரி இன்றைய முடிவு கேரள லாட்டரி முடிவு - இன்று பிற்பகல் 3 மணி (நேரலை) கேரள லாட்டரி முடிவு - நேற்று サイクロン「ムラス(Murasu)」 チェンナイの学校、明日は休校か サイクロン「ムラス」最新情報 チェンナイの学校は明日休みか? 天気 チェンナイは明日休みか? サイクロン「ムラス」の気象情報 チェンナイのサイクロン サイクロン「ムラス」追跡 チェンナイの天気 テランガーナ州 チェンナイの天気 サイクロン追跡 チェンガルパットゥの学校は今日休校か チェンナイの学校休校情報 チェンガルパットゥの学校休校情報 ビジャヤワーダの天気 天気予報 サイクロン「ムラス」追跡 今日の天気予報 チェンナイの学校、明日は休校 チェンナイの天気 チェンナイの学校は今日休みか? 今日のチェンナイの天気 フライト情報 タミル語 パフタコール対アル・ナスル パフタコールFC対アル・ナスル:順位表 AFCチャンピオンズリーグ パフタコールFC対アル・ナスル:出場メンバー ジョアン・フェリックス アル・ナスルFC パフタコールFC ニューイングランド対インテル・マイアミ ニューイングランド・レボリューション対インテル・マイアミ:順位表 MLS(メジャーリーグサッカー) インテル・マイアミ リオネル・メッシ インテル・マイアミCF インテル・マイアミ対ニューイングランド ニューイングランド・レボリューション対インテル・マイアミ:出場メンバー メッシの通算ゴール数 ニューイングランド・レボリューション対インテル・マイアミ:試合経過 インテル・マイアミの試合 ニューイングランド・レボリューション ニューイングランド・レボリューション対インテル・マイアミ オマーン対オランダ オマーン代表クリケットチーム対オランダ代表クリケットチーム:順位表 オマーン対オランダ オマーン代表クリケットチーム対オランダ代表クリケットチーム:試合スコアカード ICCクリケット・ワールドカップ・リーグ2 オマーン代表クリケットチーム対オランダ代表クリケットチーム:順位 オマーン代表クリケットチーム対オランダ代表クリケットチーム:試合スコアカード 11月2日の金・銀価格 銀・金価格 金に関するニュース 今日の金価格 バンガロールの今日の金価格 ハイデラバードの今日の金価格 コルカタの今日の金価格 チェンナイの今日の金価格 今日の金・銀価格 バンガロールの今日の金価格 チェンナイの今日の金価格 今日の金価格 タニシュク(Tanishq)の金価格 銀のMCX(インド商品取引所)ライブ価格 バンガロールの今日の銀価格 コインバトールの今日の金価格 今日の金価格価格 金価格 チェンナイの今日の金価格 今日の金価格 今日の銀価格 MCX(インド商品取引所)金価格 MCX金価格 貴金属 ムンバイの今日の金価格 ハイデラバードの今日の金価格 デリーの今日の金価格 ハイデラバードの今日の金価格 MCX金価格 チェンナイの金価格 バンガロールの今日の金価格 MCX銀価格 MCX マラバール・ゴールド(Malabar Gold)の金価格 今日のMCX金価格 今日の22金(22カラット)価格 今日の22金価格 金価格(リアルタイム) 今日の18金(18カラット)価格 キミ・アントネッリ キミ F1順位表 F1 キミ・アントネッリ(最年少F1チャンピオン候補) フォーミュラ1 F1ドライバー順位表 F1レース F1ライブ F1メキシコグランプリ F1 2026年シーズン マックス・フェルスタッペン F1結果 メキシコグランプリ F1メキシコGP リライアンス(Reliance)の株価 リライアンス株 リライアンス RIL株価 リライアンス・インダストリーズの株価 RIL株 RIL株価急騰の分析 リライアンス・インダストリーズ株 アヌジ・タクール 俳優アヌジ・タクール 発作 睡眠 飛行機墜落事故 フロリダでの飛行機墜落事故 リアジェット リアジェット60 動画 フロリダ オースティンでの事故 今日のニュース リミ・トミー リビン・マシュー、リミ・トミー リミ・トミーの結婚 結婚 リビン・マシュー リミ・トミー 2026年のサマータイム(デイライト・セービング) サマータイム 2026年米国のサマータイム 2026年米国サマータイム サマータイム 2026年米国サマータイム シャー・ルク・カーンの誕生日 シャー・ルク・カーン シャー・ルク・カーンの誕生日 キング SRK(シャー・ルク・カーン)の誕生日 シッダールト・アーナンド SRKの年齢 シャー・ルク ヒンディー語映画 ケーララ州宝くじの結果 ケーララ州宝くじ結果 今日のケーララ州宝くじ結果 今日の「バギャターラ(Bhagyathara)」宝くじ結果 今日の宝くじ結果 今日のケーララ州宝くじ結果(ライブ) 今日のケーララ州宝くじ結果 今日のケーララ州宝くじ結果(午後3時) 宝くじ本日の結果 ケーララ宝くじ 本日の結果(午後3時ライブ) ケーララ宝くじ 昨日の結果 তীব্র ঘূর্ণিঝড় 'মুরাসু' চেন্নাইতে আগামীকাল স্কুল ছুটি ঘূর্ণিঝড় 'মুরাসু' সংক্রান্ত আপডেট চেন্নাইতে আগামীকাল স্কুল ছুটি কি না আবহাওয়া চেন্নাইতে কি আগামীকাল ছুটি? ঘূর্ণিঝড় 'মুরাসু' ও আবহাওয়া চেন্নাইতে ঘূর্ণিঝড় ঘূর্ণিঝড় 'মুরাসু' ট্র্যাকার চেন্নাইয়ের আবহাওয়া তেলেঙ্গানা চেন্নাইয়ের আবহাওয়া ঘূর্ণিঝড় ট্র্যাকার চেঙ্গলপাট্টুতে আজ স্কুল ছুটি চেন্নাইতে স্কুল ছুটি চেঙ্গলপাট্টুতে স্কুল ছুটি বিজয়ওয়াড়ার আবহাওয়া আবহাওয়া প্রতিবেদন ঘূর্ণিঝড় 'মুরাসু' ট্র্যাকার আজকের আবহাওয়া প্রতিবেদন চেন্নাইতে আগামীকাল স্কুল ছুটি চেন্নাইয়ের আবহাওয়া চেন্নাইতে আজ স্কুল ছুটি কি না আজকের চেন্নাইয়ের আবহাওয়া বিমান চলাচল তামিল পাখতাকোর বনাম আল-নাসর পাখতাকোর এফসি বনাম আল-নাসর পয়েন্ট টেবিল এএফসি চ্যাম্পিয়ন্স লিগ পাখতাকোর এফসি বনাম আল-নাসর লাইনআপ জোয়াও ফেলিক্স আল-নাসর এফসি পাখতাকোর এফসি নিউ ইংল্যান্ড বনাম ইন্টার মায়ামি নিউ ইংল্যান্ড রেভোলিউশন বনাম ইন্টার মায়ামি পয়েন্ট টেবিল এমএলএস (MLS) ইন্টার মায়ামি লিওনেল মেসি ইন্টার মায়ামি সিএফ ইন্টার মায়ামি বনাম নিউ ইংল্যান্ড নিউ ইংল্যান্ড রেভোলিউশন বনাম ইন্টার মায়ামি লাইনআপ মেসির মোট গোল নিউ ইংল্যান্ড রেভোলিউশন বনাম ইন্টার মায়ামি টাইমলাইন ইন্টার মায়ামির ম্যাচসমূহ নিউ ইংল্যান্ড রেভোলিউশন নিউ ইংল্যান্ড রেভোলিউশন বনাম ইন্টার মায়ামি ওমান বনাম নেদারল্যান্ডস ওমান জাতীয় ক্রিকেট দল বনাম নেদারল্যান্ডস জাতীয় ক্রিকেট দল পয়েন্ট টেবিল ওমান বনাম নেদারল্যান্ডস ওমান জাতীয় ক্রিকেট দল বনাম নেদারল্যান্ডস জাতীয় ক্রিকেট দল ম্যাচ স্কোরকার্ড আইসিসি সিডব্লিউসি (CWC) লিগ ২ ওমান জাতীয় ক্রিকেট দল বনাম নেদারল্যান্ডস ক্রিকেট দল র‍্যাঙ্কিং ওমান জাতীয় ক্রিকেট দল বনাম নেদারল্যান্ডস ক্রিকেট দল ম্যাচ স্কোরকার্ড ২রা নভেম্বর সোনা ও রুপার দর সোনা ও রুপার দাম সোনা বিষয়ক খবর আজকের সোনার দর ব্যাঙ্গালোরে আজকের সোনার দর হায়দ্রাবাদে আজকের সোনার দর কলকাতায় আজকের সোনার দর চেন্নাইতে আজকের সোনার দর আজ সোনা ও রুপার দর ব্যাঙ্গালোরে আজকের সোনার দর চেন্নাইতে আজকের সোনার দর আজকের সোনার দর