Telegram News / Beta / Unofficial Desktop Versions / Web / TG Bots / Subreddit / DMG by RTP [MacOS]
Photo
BotsArchive (@BotsArchive) - Telegram
π€ New bot π Name: CloneMakerBot π Username: @CloneMakerBot βοΈ Rating:...
π€New bot
πName: CloneMakerBot
πUsername: @CloneMakerBot
βοΈRating: βοΈβοΈβοΈβοΈ(4.5/5 on 8 votes)
βββ
βΉοΈDescription: CloneMakerBot is a bot that allows you to create a clone where users can contact you.
πLanguages: Italian
π¬Supports inline: no
π₯Groups: no
#οΈβ£Tags: #clone #contact #limited #customized
π€ New bot π Name: CloneMakerBot π Username: @CloneMakerBot βοΈ Rating:...
π€New bot
πName: CloneMakerBot
πUsername: @CloneMakerBot
βοΈRating: βοΈβοΈβοΈβοΈ(4.5/5 on 8 votes)
βββ
βΉοΈDescription: CloneMakerBot is a bot that allows you to create a clone where users can contact you.
πLanguages: Italian
π¬Supports inline: no
π₯Groups: no
#οΈβ£Tags: #clone #contact #limited #customized
Telegram News / Beta / Unofficial Desktop Versions / Web / TG Bots / Subreddit / DMG by RTP [MacOS]
Photo
BotsArchive (@BotsArchive) - Telegram
π€ New bot π Name: Bot X Creator π Username: @BotXCreatorBot βοΈ Rating:...
π€New bot
πName: Bot X Creator
πUsername: @BotXCreatorBot
βοΈRating: βοΈβοΈβοΈ(3.6/5 on 43 votes)
βββ
βΉοΈDescription: With this Bot you can create your custom bot with custom commands and multiple functions.
πLanguages: English Italian Spanish French Portuguese-Brazil
π¬Supports inline: yes
π₯Groups: yes
#οΈβ£Tags: #bot #creator #clone #botcreator #botmaker #plugins
π€ New bot π Name: Bot X Creator π Username: @BotXCreatorBot βοΈ Rating:...
π€New bot
πName: Bot X Creator
πUsername: @BotXCreatorBot
βοΈRating: βοΈβοΈβοΈ(3.6/5 on 43 votes)
βββ
βΉοΈDescription: With this Bot you can create your custom bot with custom commands and multiple functions.
πLanguages: English Italian Spanish French Portuguese-Brazil
π¬Supports inline: yes
π₯Groups: yes
#οΈβ£Tags: #bot #creator #clone #botcreator #botmaker #plugins
BotsArchive (@BotsArchive) - Telegram
π€ New bot π Name: (multi) Wordle Bot π Username: @multiwordle_bot βοΈ Rating:...
π€New bot
πName: (multi) Wordle Bot
πUsername: @multiwordle_bot
βοΈRating: βοΈβοΈβοΈβοΈ(4.2/5 on 16 votes)
βββ
βΉοΈDescription: This bot will let you play Wordle together in groups
πLanguages: English
π¬Supports inline: no
π₯Groups: yes
#οΈβ£Tags: #game #wordle #words #group #fun #clone
π€ New bot π Name: (multi) Wordle Bot π Username: @multiwordle_bot βοΈ Rating:...
π€New bot
πName: (multi) Wordle Bot
πUsername: @multiwordle_bot
βοΈRating: βοΈβοΈβοΈβοΈ(4.2/5 on 16 votes)
βββ
βΉοΈDescription: This bot will let you play Wordle together in groups
πLanguages: English
π¬Supports inline: no
π₯Groups: yes
#οΈβ£Tags: #game #wordle #words #group #fun #clone
BotsArchive (@BotsArchive) - Telegram
π€ New bot π Name: Genesis Creator π Username: @genesiscreatorbot βοΈ Rating:...
π€New bot
πName: Genesis Creator
πUsername: @genesiscreatorbot
βοΈRating: βοΈβοΈβοΈ(3.7/5 on 23 votes)
βββ
βΉοΈDescription: Create your own music bot without programming knowledge and enjoy tools such as broadcasting, statistics and more. Your bot will be able to recognize music from video, audio and download tracks by name.
πLanguages: Portuguese English Russian Spanish Farsi Arabic Uzbek
π¬Supports inline: no
π₯Groups: no
#οΈβ£Tags: #download #shazam #music #creator #find #recognize #song #create #bot #clone #botcreator #botmaker #plugins
π€ New bot π Name: Genesis Creator π Username: @genesiscreatorbot βοΈ Rating:...
π€New bot
πName: Genesis Creator
πUsername: @genesiscreatorbot
βοΈRating: βοΈβοΈβοΈ(3.7/5 on 23 votes)
βββ
βΉοΈDescription: Create your own music bot without programming knowledge and enjoy tools such as broadcasting, statistics and more. Your bot will be able to recognize music from video, audio and download tracks by name.
πLanguages: Portuguese English Russian Spanish Farsi Arabic Uzbek
π¬Supports inline: no
π₯Groups: no
#οΈβ£Tags: #download #shazam #music #creator #find #recognize #song #create #bot #clone #botcreator #botmaker #plugins
Telegram
BotsArchive
π€ New bot
π Name: Genesis Creator
π Username: @genesiscreatorbot
βοΈ Rating: βοΈβοΈβοΈ (3.9/5 on 81 votes)
βββ
βΉοΈDescription: Create your own music bot without programming knowledge and enjoy tools such as broadcasting, statistics and more. Your bot will be ableβ¦
π Name: Genesis Creator
π Username: @genesiscreatorbot
βοΈ Rating: βοΈβοΈβοΈ (3.9/5 on 81 votes)
βββ
βΉοΈDescription: Create your own music bot without programming knowledge and enjoy tools such as broadcasting, statistics and more. Your bot will be ableβ¦
π€ New bot
π Name: DrClonerBot
π Username: @DrClonerBot
βοΈ Rating: βοΈβοΈβοΈβοΈ (4.2/5 on 29 votes)
βββ
βΉοΈDescription: Powerful Google Drive CloneBot to clone TBs of data using Service Accounts.
π Languages: English
π¬ Supports inline: no
π₯ Groups: no
#οΈβ£ Tags: #GoogleDrive #Google #Drive #Clone #ServiceAccounts
π Name: DrClonerBot
π Username: @DrClonerBot
βοΈ Rating: βοΈβοΈβοΈβοΈ (4.2/5 on 29 votes)
βββ
βΉοΈDescription: Powerful Google Drive CloneBot to clone TBs of data using Service Accounts.
π Languages: English
π¬ Supports inline: no
π₯ Groups: no
#οΈβ£ Tags: #GoogleDrive #Google #Drive #Clone #ServiceAccounts
Forwarding media group messages issue
I've created a bot on Telegram to clone chats, but the channel I've been trying to clone has media group messages, which means media is organized as a single grid of messages. The problem is: as my bot forwards the messages, the media is individually forwarded, breaking the grid structure and caption. Anyone has a guess on how to clone the chat respecting the original media group from the origin channel? Code below: from __future__ import annotationsimport argparseimport jsonimport osimport timefrom configparser import ConfigParserfrom pathlib import Pathimport pyrogramfrom pyrogram.errors import ChannelInvalid, FloodWait, PeerIdInvalidfrom setup import versionDELAY_AMOUNT = 10def get_config_data(path_file_config): """get default configuration data from file config.ini Returns: dict: config data """ config_file = ConfigParser() config_file.read(path_file_config) default_config = dict(config_file["default"]) return default_configold_term = '#Original Channel'new_term = '#Clone Channel'def replace_term(text): global old_term, new_term return text.replace(old_term, new_term)def forward_text(message, destination_chat): text = message.text.markdown if text: text = replace_term(text) try: tg.send_message( chat_id=destination_chat, text=text, disable_notification=True, disable_web_page_preview=True, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_text(message, destination_chat)def forward_media_group(message, destination_chat): caption = message.caption media_group_id = message.media_group_id try: tg.send_media_group( chat_id=destination_chat, media=media_group_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_media_group(message, destination_chat)def get_caption(message): if message.caption: return message.caption elif message.document: return message.document.caption else: return Nonedef forward_video(message, destination_chat): caption = get_caption(message) if caption: caption = replace_term(caption) video_id = message.video.file_id try: tg.send_video( chat_id=destination_chat, video=video_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_video(message, destination_chat)def forward_photo(message, destination_chat): caption = get_caption(message) if caption: caption = replace_term(caption) photo_id = message.photo.file_id try: tg.send_photo( chat_id=destination_chat, photo=photo_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_photo(message, destination_chat)def get_sender(message): if message.photo: return forward_photo if message.text: return forward_text if message.video: return forward_video if message.media_group: return forward_media_group print("\nNot recognized message type:\n") print(message) raise Exceptiondef get_input_type_to_copy(): answer = "" print("0 - All files") print("1 - Photos") print("2 - Text") print("3 - Videos") print("4 - Media Groups\n") print( "Enter the number(s) of the file type to clone, separating by comma." ) print("For example, to copy photos and documents type: 1,3") answer = input("Your answer: ") return answerdef get_files_type_excluded_by_input(input_string): files_type_excluded = [] if input_string == "" or "0" in input_string: return files_type_excluded else: if "1" not in input_string: files_type_excluded += [forward_photo] if "2" not in input_string: files_type_excluded += [forward_text] if "3" not in input_string: files_type_excluded += [forward_video]β¦
I've created a bot on Telegram to clone chats, but the channel I've been trying to clone has media group messages, which means media is organized as a single grid of messages. The problem is: as my bot forwards the messages, the media is individually forwarded, breaking the grid structure and caption. Anyone has a guess on how to clone the chat respecting the original media group from the origin channel? Code below: from __future__ import annotationsimport argparseimport jsonimport osimport timefrom configparser import ConfigParserfrom pathlib import Pathimport pyrogramfrom pyrogram.errors import ChannelInvalid, FloodWait, PeerIdInvalidfrom setup import versionDELAY_AMOUNT = 10def get_config_data(path_file_config): """get default configuration data from file config.ini Returns: dict: config data """ config_file = ConfigParser() config_file.read(path_file_config) default_config = dict(config_file["default"]) return default_configold_term = '#Original Channel'new_term = '#Clone Channel'def replace_term(text): global old_term, new_term return text.replace(old_term, new_term)def forward_text(message, destination_chat): text = message.text.markdown if text: text = replace_term(text) try: tg.send_message( chat_id=destination_chat, text=text, disable_notification=True, disable_web_page_preview=True, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_text(message, destination_chat)def forward_media_group(message, destination_chat): caption = message.caption media_group_id = message.media_group_id try: tg.send_media_group( chat_id=destination_chat, media=media_group_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_media_group(message, destination_chat)def get_caption(message): if message.caption: return message.caption elif message.document: return message.document.caption else: return Nonedef forward_video(message, destination_chat): caption = get_caption(message) if caption: caption = replace_term(caption) video_id = message.video.file_id try: tg.send_video( chat_id=destination_chat, video=video_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_video(message, destination_chat)def forward_photo(message, destination_chat): caption = get_caption(message) if caption: caption = replace_term(caption) photo_id = message.photo.file_id try: tg.send_photo( chat_id=destination_chat, photo=photo_id, disable_notification=True, caption=caption, ) return except FloodWait as e: print(f"..FloodWait {e.value} seconds..") time.sleep(e.value) except Exception as e: print(f"trying again... Due to: {e}") time.sleep(10) forward_photo(message, destination_chat)def get_sender(message): if message.photo: return forward_photo if message.text: return forward_text if message.video: return forward_video if message.media_group: return forward_media_group print("\nNot recognized message type:\n") print(message) raise Exceptiondef get_input_type_to_copy(): answer = "" print("0 - All files") print("1 - Photos") print("2 - Text") print("3 - Videos") print("4 - Media Groups\n") print( "Enter the number(s) of the file type to clone, separating by comma." ) print("For example, to copy photos and documents type: 1,3") answer = input("Your answer: ") return answerdef get_files_type_excluded_by_input(input_string): files_type_excluded = [] if input_string == "" or "0" in input_string: return files_type_excluded else: if "1" not in input_string: files_type_excluded += [forward_photo] if "2" not in input_string: files_type_excluded += [forward_text] if "3" not in input_string: files_type_excluded += [forward_video]β¦
π€ New bot
π Name: vocitalianeaibot
π Username: @vocitalianeaibot
βοΈ Rating: βοΈβοΈβοΈ (3.9/5 on 63 votes)
βββ
βΉοΈDescription: This bot clone italian famous actor
π Languages: Italian
π¬ Supports inline: no
π₯ Groups: no
#οΈβ£ Tags: #ai #voce #clone #audio
π Name: vocitalianeaibot
π Username: @vocitalianeaibot
βοΈ Rating: βοΈβοΈβοΈ (3.9/5 on 63 votes)
βββ
βΉοΈDescription: This bot clone italian famous actor
π Languages: Italian
π¬ Supports inline: no
π₯ Groups: no
#οΈβ£ Tags: #ai #voce #clone #audio