imagine.py 677 B

123456789101112131415161718192021
  1. from nio.events.room_events import RoomMessageText
  2. from nio.rooms import MatrixRoom
  3. async def command_imagine(room: MatrixRoom, event: RoomMessageText, bot):
  4. prompt = " ".join(event.body.split()[2:])
  5. if prompt:
  6. bot.logger.log("Generating image...")
  7. images, tokens_used = bot.image_api.generate_image(prompt, user=room.room_id)
  8. for image in images:
  9. bot.logger.log(f"Sending image...")
  10. await bot.send_image(room, image)
  11. bot.log_api_usage(event, room, f"{self.image_api.api_code}-{self.image_api.image_api}", tokens_used)
  12. return
  13. await bot.send_message(room, "You need to provide a prompt.", True)