gpt4 book ai didi

python - 电报机器人返回空

转载 作者:行者123 更新时间:2023-12-03 16:02:37 24 4
gpt4 key购买 nike

我正在尝试修改此 Webpage 中的代码:
修改后的代码如下:

import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime


import requests
from bottle import (
run, post, response, request as bottle_request
)

BOT_URL = 'https://api.telegram.org/bot------------------/'


def get_chat_id(data):
"""
Method to extract chat id from telegram request.
"""
chat_id = data['message']['chat']['id']

return chat_id

def get_message(data):
"""
Method to extract message id from telegram request.
"""
message_text = data['message']['text']

return message_text

def send_message(prepared_data):
"""
Prepared data should be json which includes at least `chat_id` and `text`
"""
message_url = BOT_URL + 'sendMessage'
requests.post(message_url, json=prepared_data) # don't forget to make import requests lib


def get_ticker(text): # <-- **added this function and removed a function called `def change_text_message(text)`**;
stock = f'text'
start = datetime.date(2000,1,1)
end = datetime.date.today()
data = web.DataReader(stock, 'yahoo',start, end)
plot = data.plot(y='Open')
return plot


def prepare_data_for_answer(data):
answer = get_ticker(get_message(data))

json_data = {
"chat_id": get_chat_id(data),
"text": answer,
}

return json_data

@post('/')
def main():
data = bottle_request.json

answer_data = prepare_data_for_answer(data)
send_message(answer_data) # <--- function for sending answer

return response # status 200 OK by default

我已经用上下空格分隔了我修改过的代码。此时我收到一条短信 null , 我该如何解决这个问题,以便当我输入股票代码时,它会返回股票代码的图表?我不确定图表是否可以返回,或者是否可以将唯一的文本发送回去。如果单独运行,添加的功能确实可以工作,但不能在这里运行。

最佳答案

也许我不明白什么,但主要原因是你的函数( get_ticker )没有返回任何东西。

看着:
answer_data = prepare_data_for_answer(data) . prepare_data_for_answer的结果:

{
"chat_id": get_chat_id(data),
"text": answer,
}

好的。什么是 answer ?是 get_ticker 的结果(见 answer = get_ticker(get_message(data)))。

好的。但是 get_ticker的结果是什么? ?我没看到 return声明...所以结果总是 None (json null)。这就像:
def get_message():
msg = 'hello'
message = get_message() # None. Always None(or null in json)

希望这可以帮助。

关于python - 电报机器人返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61138983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com