Python Developer for Telegram Bot and ZennoPoster Template Enhancement

Job ID: 37292928

Budget: $30 – $250 CAD

I am looking for a Python developer who can help me with two specific tasks: enhancing a Telegram bot and improving a ZennoPoster template.

The existing zennoposter template that works without the telegram bot will be provided. (Any improvements or optimizations will be appreciated).

Here is how to implement the solution, already made solutions are done:

https://zennolab.com/discussion/threads/kak-svjazat-konstruktor-chat-bot-vk-telegram-s-zennoposter.102994/

https://zennolab.com/discussion/threads/telegram-bot-post-get-bd.106465/

Responsibilities:

1. Enhancing an existing Python script and ZennoPoster template for a bot that communicates with the Onlyfans platform via an AI API linked to "oobabooba."
2. Integrating the Python script with ZennoPoster using post/get requests, and ensuring seamless data flow between the two.
3. Developing and refining a Telegram bot that introduces a four-option control stage before sending every reply on OnlyFans.
4. Implementing logic tied to the four options on the Telegram bot: "Accept" (send the AI-generated reply), "Cancel" (abort sending the reply), "Regenerate" (re-generate a new reply), and "Manually Edit" (edit the reply manually).
5. On option selection in the Telegram group, signaling the script and ZennoPoster template to execute the corresponding action, before moving to respond to the next OnlyFans message.
6. Collaborating closely with the team to understand the project requirements, make the bot more interactive, and effectively introduce the new control stage.
7. Regularly testing, debugging, and optimizing the bot to ensure reliable performance and enhancing the user experience.

Requirements:

1. Proficient in Python, with a solid understanding of object-oriented programming.
2. Experience with ZennoPoster or similar web automation tools.
3. Familiarity with creating and managing bots on Telegram.
4. Experience in using post/get requests for inter-service integration.
5. Previous experience working with APIs, specifically AI APIs for generating message responses.
6. Good understanding of the Onlyfans platform will be an advantage.
7. Exceptional debugging skills, problem-solving ability, and aptitude for understanding and implementing project requirements.
8. Excellent communication and teamwork skills are essential.
9. Ability to work on pre-existing codebase and templates, and add new features while preserving existing functionalities.

Telegram Bot:
- I need the bot to integrate with external APIs. This means it should be able to communicate with other platforms and retrieve data from them.
- The bot should also be able to send automated messages to users and receive and process their input.

ZennoPoster Template Enhancement:
- The main purpose of this enhancement is to automate web tasks. I want to improve the efficiency of my ZennoPoster template by automating various web tasks and processes.
- The developer should have experience in web scraping and parsing web data.


Timeline:
- The project needs to be completed within 1-2 weeks.

Ideal Skills and Experience:
- Strong proficiency in Python programming.
- Experience working with Telegram API and integrating external APIs.
- Familiarity with ZennoPoster and web automation tools.
- Knowledge of web scraping and data parsing techniques.


Sample python script that could be used:

This is a simplified version to illustrate how it could be done. Depending on the API you would like to integrate with, you will need to modify this appropriately.

import requests
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, CallbackContext

ZENNOPOSTER_PROJECT_URL = "http://your-zenno-poster-url" # Replace with your ZennoPoster project URL

def run_project(url_to_process):
payload = {"input_url": url_to_process}
response = requests.post(ZENNOPOSTER_PROJECT_URL, data=payload)
return response.text

def start(update: Update, context: CallbackContext) -> None:
keyboard = [
[InlineKeyboardButton("Accept", callback_data='1'),
InlineKeyboardButton("Cancel", callback_data='2')],
[InlineKeyboardButton("Regenerate", callback_data='3'),
InlineKeyboardButton("Manually Edit", callback_data='4')],
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose an option:', reply_markup=reply_markup)

def button(update: Update, context: CallbackContext) -> None:
query = update.callback_query
query.answer()

url_to_process = update.message.text

if query.data == '1':
query.edit_message_text(text="Selected option: Accept")
result = run_project(url_to_process)
update.message.reply_text('Received and processed message: {}'.format(result))
elif query.data == '2':
query.edit_message_text(text="Selected option: Cancel")
context.bot.send_message(chat_id=update.effective_chat.id, text="Operation cancelled.")
elif query.data == '3':
query.edit_message_text(text="Selected option: Regenerate")
result = run_project(url_to_process)
update.message.reply_text('Regenerated and processed message: {}'.format(result))
elif query.data == '4':
query.edit_message_text(text="Selected option: Manually Edit")
context.bot.send_message(chat_id=update.effective_chat.id, text="You can manually edit the response now.")

def main() -> None:
updater = Updater("your-telegram-token") # Insert your Telegram token here
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(CallbackQueryHandler(button))

updater.start_polling()
updater.idle()

if name == 'main':
main()
```

In this script, the run_project method makes a POST request to the ZennoPoster project URL and sends a payload containing the URL to process. It returns the data received as a response from the ZennoPoster project. The actual HTTP requests would depend upon the ZennoPoster API documentation. Please modify the URL and data accordingly.