Найти - Пользователи
Полная версия: Проблема с иттерацией цикла
Начало » Python для новичков » Проблема с иттерацией цикла
1
belazan
Всем привет, новенький как на форуме так и в python. Не буду ходить вокруг да около, вот с какой проблемой столкнулся.

Есть скрипт который читает данные из Exscel таблицы (колонка time), где в колонку в каждой ячейке внесено время с шагом n минут, и скрипт пробегаясь по каждому времени делает следующее:
в Телеграме (в отложенных сообщениях) имитирует нажатия клавиш в таком порядке чтобы вставить заранее скопированный текст из буфера обмена, нажать Enter (Отправить позже), после чего вписывает время из колонки в Exscel таблицы и окончательно отправляет сообщение которое получит пользователь в заданное время. То бишь мы отправляем скопированный текст получателю с промежутком в n минут.

И всё бы ничего, скрипт то работает, вот только не всегда корректно. Иногда он начинает вписывать в поле для ввода сообщения не текст из буфера обмена, а время из таблицы, и я не могу понять по какой причине.
Есть предположение, что когда я намерено закрываю консоль при выполнении иттерации цикла, возникает какой-то сбой ибо ловлю такое сообщение в Вижуал студио “Программа ”python.exe“ завершилась с кодом -1 (0xffffffff).”

Следовательно скрипт нельзя назвать рабочим.

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

Ниже оставляю код и таблицу

 import pyautogui
import pandas
import time
import sys
excel_data = pandas.read_excel('Time.xlsx', sheet_name='Recipients')
time.sleep(5)
for row in excel_data['time'].tolist():
     
      pyautogui.hotkey('ctrl', 'v', interval=0.50)
      pyautogui.press('enter')
      time.sleep(0.4)
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.press('backspace')
      pyautogui.write(str(row));
      pyautogui.press('enter')
      time.sleep(0.50)
      
print('The script executed successfully.')
xam1816
belazan
То бишь мы отправляем скопированный текст получателю с промежутком в n минут.
реализуйте через телеграмм бота и библиотеки типа telebot
belazan
xam1816
Думал так сделать, но это невозможно. Если писать в каналы либо группы в которых бот не администратор - этот вариант отпадает напрочь. Что можно так это написать юзеру, и то, для этого юзер должен своими руками запустить бота у себя в приложении.

P.s. пробовал ещё через id группы отослать ей сообщение, но пока бот в нет не имеет админские права - написать не получиться
AD0DE412
хз попробуйте вместо xlsx csv и замутите проверку того что вставляете
ps хм использовать вебверсию телеги? ну если конечно безразлично кто между тобой и телегой конечно
гугли чтото вроде python telegrm client и не мучте буфер и себя
belazan
AD0DE412
хз попробуйте вместо xlsx csv и замутите проверку того что вставляете ps хм использовать вебверсию телеги? ну если конечно безразлично кто между тобой и телегой конечногугли чтото вроде python telegrm client и не мучте буфер и себя
Изменение на csv не помогло + ко всему даже если исключить библиотеку pandas из скрипта и просто создать лист со временем, а не брать его из таблицы - результат тот же
belazan
Проблема решена, Pyautogui не читал кириллицу, заменил библиотеку на keyboard - всё работает))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB