async def forw(event): if event.fwd_from: return if not event.is_reply: await edit_or_reply(event, "Reply to a message to broadcast.") return channels = get_all_channels() await edit_or_reply(event, "Sending...") error_count = 0 sent_count = 0 if event.reply_to_msg_id: previous_message = await event.get_reply_message() previous_message.message previous_message.raw_text error_count = 0 for channel in channels: try: await borg.forward_messages(int(channel.chat_id), previous_message) sent_count += 1 await edit_or_reply( event, f"Sent : {sent_count}\nError : {error_count}\nTotal : {len(channels)}", ) except Exception as error: try: await borg.send_message( logs_id, f"Error in sending at {channel.chat_id}.") await borg.send_message(logs_id, "Error! " + str(error)) if error == "The message cannot be empty unless a file is provided": edit_or_reply( event, "For sending files, upload in Saved Messages and reply .forward to in.", ) return except: pass error_count += 1 await edit_or_reply(event, f"Sent : {sent_count}\nError : {error_count}") await edit_or_reply( event, f"{sent_count} messages sent with {error_count} errors.") if error_count > 0: try: await borg.send_message(logs_id, f"{error_count} Errors") except: await edit_or_reply(event, "Set up log channel for checking errors.")
async def _(event): if event.fwd_from: return if not event.is_reply: await edit_or_reply(event, "Reply to a message to broadcast.") return channels = get_all_channels() error_count = 0 sent_count = 0 await edit_or_reply(event, "Sending....") if event.reply_to_msg_id: previous_message = await event.get_reply_message() if previous_message.sticker or previous_message.poll: await edit_or_reply(event, "Reply .forward for stickers and polls.") return if (previous_message.gif or previous_message.audio or previous_message.voice or previous_message.video or previous_message.video_note or previous_message.contact or previous_message.game or previous_message.geo or previous_message.invoice): # Written by @HeisenbergTheDanger await edit_or_reply(event, "Not supported. Try .forward") return if not previous_message.web_preview and previous_message.photo: file = await borg.download_file(previous_message.media) uploaded_doc = await borg.upload_file(file, file_name="img.png") raw_text = previous_message.text for channel in channels: try: if previous_message.photo: await borg.send_file( int(channel.chat_id), InputMediaUploadedPhoto(file=uploaded_doc), force_document=False, caption=raw_text, link_preview=False, ) sent_count += 1 await edit_or_reply( event, f"Sent : {sent_count}\nError : {error_count}\nTotal : {len(channels)}", ) except Exception as error: try: await borg.send_message( logs_id, f"Error in sending at {chat_id}.") await borg.send_message(logs_id, "Error! " + str(error)) if (error == "The message cannot be empty unless a file is provided" ): event.edit( "For sending files, upload in Saved Messages and reply .forward to in." ) return except: pass error_count += 1 await event.edit( f"Sent : {sent_count}\nError : {error_count}\nTotal : {len(channels)}" ) await edit_or_reply( event, f"{sent_count} messages sent with {error_count} errors.") if error_count > 0: try: await borg.send_message(logs_id, f"{error_count} Errors") except: pass else: raw_text = previous_message.text for channel in channels: try: await borg.send_message(int(channel.chat_id), raw_text, link_preview=False) sent_count += 1 await edit_or_reply( event, f"Sent : {sent_count}\nError : {error_count}\nTotal : {len(channels)}", ) except Exception as error: try: await borg.send_message( logs_id, f"Error in sending at {channel.chat_id}.") await borg.send_message(logs_id, "Error! " + str(error)) if (error == "The message cannot be empty unless a file is provided" ): edit_or_reply( event, "For sending files, upload in Saved Messages and reply .forward to in.", ) return except: pass error_count += 1 await event.edit( f"Sent : {sent_count}\nError : {error_count}\nTotal : {len(channels)}" ) await edit_or_reply( event, f"{sent_count} messages sent with {error_count} errors.") if error_count > 0: try: await borg.send_message(logs_id, f"{error_count} Errors") except: await edit_or_reply( event, "Set up log channel for checking errors.")