Мониторинг группового чата WeChat 2023.5.5
Мониторинг группового чата WeChat 2023.5.5
Язык кода:javascript
копировать
# -*- coding: utf-8 -*-
"""
Created on Fri May  5 15:16:48 2023

@author: Administrator
"""
# Импортируйте некоторые константы в библиотеку itchat, библиотеку времени и библиотеку itchat.
import itchat, time
from itchat.content import *
import openpyxl
import os



# Замените имя целевого группового чата на имя группового чата, которому вы хотите отправить сообщение.
TARGET_GROUP_NAME = "Втроем"

# Добавьте сюда ключевые слова, которые вы хотите найти.
KEYWORDS = ["Шендан здесь", "молоко", «0 юаней», "тест"]

# Проверьте, существует ли файл Excel
filename = "wechat_messages.xlsx"
if os.path.exists(filename):
    # Загрузить существующую книгу «Работа»
    workbook = openpyxl.load_workbook(filename)
    # Получить активность Форма работы
    worksheet = workbook.active
    # Установите текущий номер строки на строку, следующую за последней строкой.
    current_row = worksheet.max_row + 1
else:
    # Создать новую книгу Excel «Работа».
    workbook = openpyxl.Workbook()
    # Получить активность Форма работы
    worksheet = workbook.active
    # Задайте заголовок таблицы Работа
    worksheet.title = "WeChat Messages"

    # Добавить заголовок
    worksheet.cell(row=1, column=1, value="Type")
    worksheet.cell(row=1, column=2, value="Username")
    worksheet.cell(row=1, column=3, value="Group Name")
    worksheet.cell(row=1, column=4, value="Message")

    # Установить текущий номер строки
    current_row = 2

# Написать сообщение в файл Excel в разделе «Функция».
def write_to_excel(msg_type, username, group_name, message):
    global current_row
    # Записать данные в текущую строку
    worksheet.cell(row=current_row, column=1, value=msg_type)
    worksheet.cell(row=current_row, column=2, value=username)
    worksheet.cell(row=current_row, column=3, value=group_name)
    worksheet.cell(row=current_row, column=4, value=message)
    # Обновить текущий номер строки
    current_row += 1
    # держать Работакнига    workbook.save(filename)
    
    

# Получите функцию объекта чата целевой группы.
def get_target_group(name):
    # Поиск в групповых чатах по имени
    groups = itchat.search_chatrooms(name)
    # Просмотрите найденные групповые чаты
    for group in groups:
        # Если имя группового чата совпадает с целевым именем, верните объект группового чата.
        if group['NickName'] == name:
            return group
    # Если целевой групповой чат не найден, верните None
    return None

# Когда вы получите текстовое сообщение в групповом чате, выполните следующую функцию:
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
    # Получить название группы
    group_name = msg.user.NickName
    # Распечатать текстовые сообщения группового чата
    print(f"Group: {group_name} | User: {msg.actualNickName} | Message: {msg.text}")
    # Написать сообщение в Excel
    write_to_excel(msg.type, msg.actualNickName, group_name, msg.text)
    
    # Найти целевой групповой чат
    target_group = get_target_group(TARGET_GROUP_NAME)
    # Если целевой групповой чат не найден, распечатайте подсказку и вернитесь.
    if target_group is None:
        print(f"Не найдено по имени {TARGET_GROUP_NAME} групповой чат. ")
        return

    # Если сообщение содержит какое-либо ключевое слово в списке ключевых слов
    if any(keyword in msg.text for keyword in KEYWORDS):
        # Создать сообщение
        response = u'@%s\u2005I received: %s' % (msg.actualNickName, msg.text)

        # Отправить сообщение в чат целевой группы
        itchat.send_msg(response, toUserName=target_group['UserName'])

# Используйте командную строку для отображения QR-кода входа в систему.
# itchat.auto_login(True)
itchat.auto_login()
# Запустите itchat, чтобы оставаться онлайн
itchat.run(True)
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.