44import os
55import time
66from flask import Flask , url_for , jsonify
7- from framelib import frame , message , validate_message_or_mock_vercel
7+ from framelib import frame , message , validate_message_or_mock , validate_message_or_mock_neynar
88
99app = Flask (__name__ )
1010
@@ -38,14 +38,18 @@ def second_page():
3838
3939 # validate frame message with neynar
4040 api_key = os .getenv ('NEYNAR_KEY' )
41- msg_val = validate_message_or_mock_vercel (msg , api_key )
42- print (f'validated frame message, fid: { msg_val .interactor .fid } , button: { msg_val .tapped_button } ' )
41+ msg_neynar = validate_message_or_mock_neynar (msg , api_key , mock = _vercel_local ())
42+ print (f'validated frame message, fid: { msg_neynar .interactor .fid } , button: { msg_neynar .tapped_button } ' )
43+
44+ # validate frame message with hub
45+ msg_hub = validate_message_or_mock (msg , 'https://nemes.farcaster.xyz:2281' , mock = _vercel_local ())
46+ print (f'validated frame message hub, fid: { msg_hub .data .fid } , button: { msg_hub .data .frameActionBody .buttonIndex } ' )
4347
4448 return frame (
4549 image = _github_preview_image (),
4650 button1 = 'back \U0001F519 ' ,
4751 post_url = url_for ('home' , _external = True ),
48- input_text = f'hello { msg_val .interactor .username } !' ,
52+ input_text = f'hello { msg_neynar .interactor .username } !' ,
4953 button2 = 'github' ,
5054 button2_action = 'link' ,
5155 button2_target = 'https://github.com/devinaconley/python-frames'
@@ -55,3 +59,8 @@ def second_page():
5559def _github_preview_image () -> str :
5660 hour = int ((time .time () // 3600 ) * 3600 ) # github throttles if you invalidate image cache too much
5761 return f'https://opengraph.githubassets.com/{ hour } /devinaconley/python-frames'
62+
63+
64+ def _vercel_local () -> bool :
65+ vercel_env = os .getenv ('VERCEL_ENV' )
66+ return vercel_env is None or vercel_env == 'development'
0 commit comments